1.搭建LNMP环境
1.1检查系统环境
[root@zabbix ~]#cat /etc/redhat-release //查看CentOS版本
[root@zabbix ~]#cat /proc/version //查看存放与内核相关的文件
1.2升级centos7所有组件
[root@zabbix ~]#yum -y update
1.3关闭防火墙、selinux、重启系统
[root@zabbix ~]#systemctl stop firewalld.service //临时关闭firewall
[root@zabbix ~]#systemctl disable firewalld.service //禁止firewall开机启动
[root@zabbix ~]#setenforce 0 //临时关闭selinux
[root@zabbix ~]#vim /etc/selinux/config //#将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效
[root@zabbix ~]#getenforce //检测selinux是否关闭,Disabled 为关闭
[root@zabbix ~]#firewall-cmd --state //查看默认防火墙状态,关闭后显示not running,开启后显示running
1.4安装所需所有软体组件
Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。
[root@zabbix ~]# yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
[root@zabbix ~]# rpm -qa httpd php mariadb //安装完成后检查应用版本
1.5编辑httpd
[root@zabbix ~]# vim /etc/httpd/conf/httpd.conf
ServerName www.zabbixtest.com
DirectoryIndex index.html index.php
1.6编辑配置php,配置中国时区
[root@zabbix ~]# vim /etc/php.ini
date.timezone = PRC //配置时区
1.7启动httpd,mysqld服务
//启动http和mysql服务
[root@zabbix ~]# systemctl start httpd //stop为停止
[root@zabbix ~]# systemctl start mariadb //开机自动启动http和mysql服务
[root@zabbix ~]# systemctl enable httpd
[root@zabbix ~]# systemctl enable mariadb
[root@zabbix ~]# ss -anplt | grep httpd //查看httpd启动情况,80端口监控表示httpd已启动
[root@zabbix ~]#ss -naplt | grep mysqld //查看mysqld启动情况,3306端口监控表示mysqld已启动
1.8创建一个测试页,测试LAMP是否搭建成功
[root@zabbix ~]# vim /var/www/html/index.php //创建一个测试页,并编辑
<?php
phpinfo()
?>
输入完:wq保存退出。
在浏览器输入主机地址,可以弹出下面表示正常
1.9初始化mysql数据库,配置root用户密码
[root@zabbix ~]# mysqladmin -u root password Huawei@WUnengcan123. //设置数据库root密码
[root@zabbix ~]# mysql -u root -p //root用户登陆数据库
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin; //创建zabbix数据库(中文编码格式)
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix01'@'%' IDENTIFIED BY 'Huawei@WUnengcan123.';
//授予zabbix01用户zabbix数据库的所有权限,密码123456
MariaDB [(none)]> flush privileges; //刷新权限
MariaDB [(none)]> select user,host from mysql.user; //有空用户名称占用导致本地无法登录远程可登录
MariaDB [(none)]> drop user ''@localhost; //删除空用户
MariaDB [(none)]>quit
1.10测试数据库连接,测试zabbix01用户是否能够登陆数据库
[root@zabbix ~]#vi /var/www/html/index.php //设置数据库root密码
<?php
$link=mysql_connect('139.9.144.152','zabbix01',' Huawei@WUnengcan123.');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>
//显示Success表示连接数据库成功
2.zabbix服务安装
2.1安装依赖包 + 组件
[root@zabbix ~]#yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*
[root@zabbix ~]#yum install php-bcmath php-mbstring -y //安装php支持zabbix组件
[root@zabbix~]#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm //zabbix主程序包
[root@zabbix ~]#yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y //安装zabbix组件
zabbix-server-mysql //提供zabbix-server服务 zabbix-proxy-mysql //提供zabbix的代理服务,可以实现分布式监控,减轻zabbix-server的压力 zabbix-web-mysql //提供httpd服务 zabbix-get //提供检查是否能正确获取到zabbix的监控脚本key的监控值 zabbix-agent //提供zabbix-agent服务
2.2导入数据到数据库zabbix中
先找zabbix下载下来的数据库压缩包(每个人电脑可能有所不同,所以这比较重要,不然后面会失败)
[root@zabbix ~]# cd /usr/share/doc/zabbix- //为了找对应文件夹,可以不用按回车进入目录
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix01 -p zabbix //Zabbix是数据库名称,zabbix01是数据库用户名,回车后会提示输入密码
[root@zabbix ~]#reboot
2.3配置数据库、修改php时区
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf //配置数据库用户及密码
DBHost=localhost
DBName=zabbix
DBUser=zabbix01
DBPassword=Huawei@123
:wq保存退出
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf //修改时区
将 php_value date.timezone Europe/Riga 变更成php_value date.timezone Asia/Shanghai
2.4启用zabbix服务
[root@zabbix ~]#systemctl enable zabbix-server //开机启用服务
[root@zabbix ~]#systemctl start zabbix-server //启用zabbix服务
2.5登陆web配置zabbix
报错:The requested URL /zabbix was not found on this server.
解决:https://www.cnblogs.com/Caiyundo/p/10254239.html
2.6汉化
到win系统里,复制系统的“微软雅黑”字体改名为DejaVuSans.ttf,复制到linux此目录下替换目标/usr/share/fonts/dejavu/DejaVuSans.ttf
3.监控本机和备机
3.1 监控本机
[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf //配置angent配置文件
Server=192.168.0.107 //服务器地址
ServerActive=192.168.0.107 //服务器地址
Hostname=192.168.0.107 //服务器地址
[root@zabbix ~]# systemctl start zabbix-agent //重启zabbix-agent。看到ZBX绿色表示监控成功
在界面上还需要配置zabbix server的IP和端口才行
3.2检测备机
进入wbe检测界面,右上角点击新建wbe检查
检测短信平台和其它wbe站点的方式和检测zabbix02的反是一样。
4.安装邮件发送邮件(https://blog.csdn.net/djhsun/article/details/78731683)(https://blog.csdn.net/leonnew/article/details/80813947)
4.1安装Mail
yum -y install Mail
systemctl start mail
systemctl enable mail
4.2配置 /etc/mail.rc
Vim /etc/mail.rc
set from=1324023406@qq.com #发送邮件的邮箱
set smtp=smtps://smtp.qq.com:465 #公有云上的25端口会封,要使用ssl加密
set smtp-auth-user=1324023406@qq.com #邮箱账号
set smtp-auth-password=授权码 #如果是网易,QQ等邮箱,此处应填写授权码
set smtp-auth=login #登陆
set nss-config-dir=/etc/pki/nssdb/ #SSL证书位置
set smtp-user-starttls
set ssl-verify=ignore
4.3生成SSL证书到/etc/pki/nssdb/
mkdir -p /etc/pki/nssdb/
echo -n | openssl s_client -connect.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >/etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /etc/pki/nssdb-i/etc/pki/nssdb/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /etc/pki/nssdb -i /etc/pki/nssdb/qq.crt
certutil -L -d /etc/pki/nssdb
在/etc/pki/nssdb目录下执行:
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
4.4测试邮件是否发送成功
echo "Hello" | mail -v -s "test" 1324023406@qq.com
5.配置zabbix邮件发送脚本
5.1查看zabbix脚本存放的位置
[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf
5.2创建发送邮件脚本:
[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix ~]# vim mail.sh
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "
[root@zabbix alertscripts]# ll
total 4
-rw-r--r-- 1 root root 138 Jul 25 17:44 sendmail.sh
[root@zabbix alertscripts]# chown zabbix.zabbix /usr/lib/zabbix/alertscripts/mail.sh
#sendmail.sh脚本修改所属用户和用户组
[root@zabbix alertscripts]# ll
total 4
-rw-r--r-- 1 zabbix zabbix 138 Jul 25 17:44 sendmail.sh
[root@zabbix alertscripts]# chmod 755 /usr/lib/zabbix/alertscripts/mail.sh
#sendmail脚本赋予执行权限
[root@zabbix alertscripts]# ll
total 4
-rwxr-xr-x 1 zabbix zabbix 138 Jul 25 17:44 sendmail.sh
5.3测试邮件是否能正常发送,执行后检查邮箱是否收到邮件
[root@zabbix ~]# echo "test" | mail -s 'test linux' 1324023406@qq.com
5.4 Zabbix控制台配置:
{ALERT.SENDTO}:收件人地址
{ALERT.SUBJECT}:主题
{ALERT.MESSAGE}:详细内容
5.6配置用户告警通知方式:
管理à用户àadmin
报警媒介à添加à填写对应信息à点击“添加”à最后回到刚才的页面,点击”更新”
6.配置监控告警(这里以配置工单系统为例):
参考文档:https://blog.csdn.net/leonnew/article/details/80813947,配置的大概流程思路如下图:
6.1 配置监控项:配置à主机à监控项。
6.2配置触发器:配置à主机à触发器
6.3配置动作:
默认标题:Resolved: {TRIGGER.NAME}
消息内容:
探测位置:华为云-广州区
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}
默认标题:Resolved: {TRIGGER.NAME}
消息内容:
探测位置:华为云-广州区
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID:{EVENT.ID}