zabbix4.0-部署安装
由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。
yum install -y \ //安装LAMP环境包 httpd mariadb-server mariadb php php-mysql \ //php连接mysql模块 php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
编辑配置httpd
vim /etc/httpd/conf/httpd.conf ServerName www.yun.com ... DirectoryIndex index.html index.php //添加首页支持格式
编辑配置php,配置中国时区
vim /etc/php.ini date.timezone = PRC //PRC为中国时区
启动httpd,mysql
systemctl stop firewalld.service setenforce 0 systemctl start httpd.service systemctl start mariadb.service netstat -ntap | egrep ‘(80|3306)‘
#配置MariaDB数据库
mysql_secure_installation 首先是设置密码,会提示先输入密码 Enter current password for root (enter for none):<–初次运行直接回车 设置密码 Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车 New password: <– 设置root用户的密码 Re-enter new password: <– 再输入一次你设置的密码 其他配置 Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车 Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车, Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车 Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
#初始化MariaDB完成,测试登录
mysql -uroot -p123456
#创建zabbix数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all ON zabbix.* TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘admin123‘; //创建zabbix数据库,并设定用户密码 flush privileges;
数据库设置完成,检测php与数据库连通情况
vim /var/www/html/index.php <?php $link=mysql_connect(‘192.168.200.104‘,‘zabbix‘,‘admin123‘); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; mysql_close(); ?>
出现 Success!! 则PHP连通数据库完成。
为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:
使用root账户登录数据库。
select user,host from mysql.user; //有空用户名称占用导致本地无法登录远程可登录 +--------+-----------+ | user | host | +--------+-----------+ | zabbix | % | | root | 127.0.0.1 | | root | ::1 | | | cacti | | root | cacti | | | localhost | | root | localhost | +--------+-----------+ drop user ‘‘@localhost; //删除空用户 drop user ‘‘@cacti; flush privileges;
2、部署Zabbix Server
yum install php-bcmath php-mbstring -y //安装php支持zabbix组件 rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm //会自动生成yum源文件,保证系统可以上网 yum install zabbix-server-mysql zabbix-web-mysql -y //安装zabbix组件 zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成数据库文件,注意密码不要输成root的,zabbix用户密码为admin123
查看、修改zabbix配置文件
grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf 38:LogFile=/var/log/zabbix/zabbix_server.log 49:LogFileSize=0 72:PidFile=/var/run/zabbix/zabbix_server.pid 82:SocketDir=/var/run/zabbix 101:DBName=zabbix //访问数据库名称 117:DBUser=zabbix //zabbix访问数据库用户 125:DBPassword=admin123 //配置文件中只需修改本行,zabbix访问数据库密码 347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 465:Timeout=4 507:AlertScriptsPath=/usr/lib/zabbix/alertscripts 517:ExternalScripts=/usr/lib/zabbix/externalscripts 553:LogSlowQueries=3000
修改zabbix在httpd中的时区
vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghai
为防止web界面中文乱码现象,需要将相应字体文件复制,使zabbix识别cp STKAITI.TTF /usr/share/zabbix/fonts/
使zabbix系统识别字体
vim /usr/share/zabbix/include/defines.inc.php :%s /graphfont/kaiti/g //采用全局替换模式
zabbix基本配置完成,启动服务,实现web界面安装
systemctl enable zabbix-server systemctl start zabbix-server netstat -anpt | grep zabbix //监听在10051端口上 systemctl restart httpd.service
web界面安装访问。http://192.168.200.104:81/zabbix/
web界面安装流程如下:
1).设置数据库和zabbix server信息
2).初始用户密码为:Admin/zabbix
3.安装zabbix-agent被监控端代理
安装zabbix-agent客户端:
rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm yum install -y zabbix-agent
编辑修改配置文件
grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_agentd.conf vim /etc/zabbix/zabbix_agentd.conf 13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 98:Server=192.168.144.113 //zabbix服务器地址 139:ServerActive=192.168.144.113 //活跃服务器地址 150:Hostname=test 268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
关闭防火墙,启动服务
systemctl stop firewalld.service setenforce 0 systemctl enable zabbix-agent.service systemctl restart zabbix-agent.service netstat -anpt | grep zabbix //监听在10050端口
配置邮箱报警功能
1、配置自动邮箱发送
yum install mailx -y vim /etc/mail.rc 编辑mailx配置文件 set set smtp=smtp.qq.com set set smtp-auth-password=邮箱密码 set smtp-auth=login
测试邮箱软件是否可用echo "hello world" | mail -s "testmail" //测试发信正常
2、编写邮件发送脚本
邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。
vim /usr/lib/zabbix/alertscripts #!/bin/bash #send mail messages=`echo $3 | tr ‘\r\n‘ ‘\n‘` subject=`echo $2 | tr ‘\r\n‘ ‘\n‘` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log chown -R zabbix.zabbix /tmp/mailx.log chmod +x /usr/lib/zabbix/alertscripts/mailx.sh chown -R zabbix.zabbix /usr/lib/zabbix/
测试发邮件脚本是否可以正常工作./mailx.sh "主题" "内容"