centos7上zabbix4.0LTS搭建
zabbix4.0已经推出有一段时间了,针对之前版本做了很多优化配置,易用性得到提高,特别lts(long team support)长技术支持版本,官方说提供5年的稳定技术支持,在商业化运用上,是比较稳定的。目前zabbix的安装和部署已经是比较简单的了。详细参考https://www.zabbix.com/cn/download和https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid=2650636023&idx=1&sn=950bbe4c22dd94d5e8538bb258240ace&chksm=bef90071898e8967d7d13d4466353e3a57202a62457a60551da8209b3ea48343563821d33c0c&mpshare=1&scene=23&srcid=1019obdkaT3YOrKZvAxU1g9A#rd
更加详细的部署可以参见官方手册。
整体部署采用centos7+php+apache+mariadb
一、初始化安装环境
systemctl disable firewalld #禁止防火墙服务启动
systemctl stop firewalld #关闭防火墙服务
vi /etc/sysconfig/selinux #修改将“SELINUX=enforcing”更改为“SELINUX=disabled”,关闭SELINUX
cd /etc/yum.repos.d/ #修改yum源 更改为阿里云
mv CentOS-Base.repo CentOS-Base.repo.bak #备份文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo #下载阿里云镜像仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo #下载epel仓库
yum clean all #清理缓存
yum makecache #重新生成缓存
iptables -F #清理iptables规则
iptables -I INPUTE -j ACCEPT&&iptables-save #配置iptables
yum install tree net-tool net-snmp vim ntpdate #安装部分基础软件包 为了满足基本配置,需要提前准备以下软件包,并安装完成
yum install httpd php php-mysql php-gd php-bcmath php-common php-xml php-mbstringphp-cliZabbix 需要的 PHP 扩展库:
- php-mysql:使用MySQL作为Zabbix后端数据库所需要的组件;
- php-gd:PHP GD扩展库必须支持 PNG 图像(--with-png-dir)、JPEG 图像 (--with-jpeg-dir)和FreeType2(--with-freetype-dir);
- php-bcmath:包含所需的bcmath;
- php-common:包含所需的ctype和php-session扩展;
- php-xml:包含所需的libXML、xmlreader和xmlwriter扩展。
- php-mbstring:包含所需的mbstring扩展。
安装zabbix需要的依赖包
yum install pcre glibc gcc livevent zlib libcurl-devel curl-devel OpenIPMI-devel libssh2 fping net-snmp-devel perl-DBI openssl-devel iksemel libxml2 ntp- pcre:为强制安装的包。用来支持Perl Compatible Regular Expression(PCRE);
- gcc:为强制安装的包。即编译器,
- glibc:为强制安装的包。即libc运行库,其中包含了所需的Libpthread
- libevent:为强制安装的包,用来支持 IPMI;
- zlib:为强制安装的包。用来支持压缩;
- libcurl-devel、curl-devel:为可选安装包,但建议安装。用来支持 Web 监控;
- OpenIPMI-devel:为可选安装包,按需安装。用来支持IPMI监控;
- libssh2:为可选安装包。用来支持SSH功能;
- fping: 为可选安装包,但建议安装。用来支持ICMP Ping监控;
- net-snmp-devel:为可选安装包,按需安装。用来支持SNMP监控;
- iksemel:为可选安装包,按需安装。用来支持 Zabbix 报警媒介 Jabber;
- libxml2:为可选安装包,按需安装。用来支持 VMware 监控;
- ntp:为可选安装包,但强烈建议安装。用来保持 Zabbix 精准的时间。
zabbix对时间要求比较高,可以配置外网访问同步ntp服务器,并开启计划任务
ntpdate -u asia.pool.ntp.org #同步NTP服务器
systemctl enable ntpd #开机启动
echo '* /30 * * * * /usr/sbin/ntpdate -u asia.pool.ntp.org > /dev/null 2>&1' >>/var/spool/cron/root#半个小时同步一次时间 配置rm命令为MV
为了防止误操作,配置rm命令别名,同时可以进行恢复删除文件
[*] 在/tmp目录下新建两个目录,命名为:.trash,tools
cd /tmp/
mkdir .trash
mkdir tools 2. 在/tmp/tools/目录下,新建一个shell文件,命名为: http://blog.运维网.com/static/js/ueditor1.4.3/themes/default/images/spacer.gifremove.sh
PARA_CNT=$#
TRASH_DIR="/tmp/.trash"
for i in $*; do
STAMP=`date +%Y%m%d%H%M%S`
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName.$STAMP
done
chmod u+x remove.sh
3. 修改~/.bashrc, 增加一行
vim ./bashrc
alias rm="sh /tmp/tools/remove.sh"
用我们自建的http://blog.运维网.com/static/js/ueditor1.4.3/themes/default/images/spacer.gifremove.sh替代rm命令
4. source ~/.bashrc 使替换立即生效
经过上面的步骤后,执行rm删除的文件,会被放入垃圾箱/tmp/.trash/中,如果误删除,可以从中恢复。
二、数据库的配置
采用mariadb的数据库,直接使用yum安装即可。但是为了要求,将数据库的数据存储路径配置到指定路径,同时开放可以远程登陆数据库进行登陆
yum -y install mariadb mariadb-server #安装mariadb数据库
mkdir -p /home/data/lib/mysql #创建指定目录路径
chown -R mysql:mysql /home/data/lib/mysql #配置数据库文件归属 编辑/etc/my.cnf配置文件
#修改datadir=/var/lib/mysql
datadir=/home/data/lib/mysql
#在下添加http://s1.运维网.com/images/20181109/1541751586401622.png
编辑/etc/my.cnf.d/server.cnf ,在下添加
datadir=/home/data/lib/mysql
socket=/var/lib/mysql/mysql.sock
character_set_server=utf8
slow_query_log=on
slow_query_log_file=home/data/lib/mysql/slow_query_log.log
long_query_time=2http://s1.运维网.com/images/20181109/1541752339942733.png
编辑完成后,开启数据库慢查询
touch /home/data/lib/mysql/slow_query_log.log
chown mysql:mysql /home/data/lib/mysql/slow_query_log.log 完成配置后启动数据库
systemctl enable mariadb
systemctl start mariadb 初始化数据库
mysql_secure_installation#初始化 配置完成root密码后,一路按Y即可
http://s1.运维网.com/images/20181109/1541755578556792.png
三、安装配置zabbix
安装zabbix4.0的rpm包
# rpm -i https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm安装Zabbix server,Web前端,agent
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent 创建初始数据库
mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'password'; #根据实际情况设定密码
mysql> quit; 导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix 我们需要对zabbix用户进行调整,让他可以进行远程登陆数据库,控制权限,不能删库
create user 'zabbix-test'@'%'; #创建zabbix-test用户
grant all privileges on zabbix.* to 'zabbix-test'@'%' identified by 'password'; #让zabbix-test用户可用从任何位置访问zabbix数据库
revoke drop on *.* from 'zabbix-test'@'%'; #收回zabbix-test用户删除库的权限 测试,可以使用zabbix-test用户远程登陆数据库
http://s1.运维网.com/images/20181109/1541758466596476.png
为zabbix-server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
#修改125行
DBPassword=password 配置前端PHP
#修改20行
php_value date.timezone Asia/Shanghaihttp://s1.运维网.com/images/20181109/1541758786464814.png
启动zabbix
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd 配置前端
登陆连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix,按照提示配置即可
http://s1.运维网.com/images/20181109/1541759007798767.png
默认账户密码
Admin
zabbix
http://s1.运维网.com/images/20181109/1541759155657207.png
完成后,修改字体文件
在windows主机里面找到mysh文件,上传到zabbix目录 /usr/share/zabbix/fonts下 然后重命名为graphfont.ttf
http://s1.运维网.com/images/20181109/1541759417954580.png
页:
[1]