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

d8dc949d12b494eeb0a2fe5f44d409e3.png

5b3c7989caf734ebe88eaa6f5d4d359f.png

16e657abd2b0875f99af9bed4e8a3972.png

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            //安装完成后检查应用版本

d1df9426dfc36a51779364aaa18b5775.png

e2b469e6cd91486ed94f6ab8704a1d5e.png

1.5编辑httpd

[root@zabbix ~]# vim /etc/httpd/conf/httpd.conf

ServerName www.zabbixtest.com

DirectoryIndex index.html index.php

596ede0d56a73f39b8fee7bbddb2e998.png 

1.6编辑配置php,配置中国时区

[root@zabbix ~]# vim /etc/php.ini

date.timezone = PRC //配置时区  

3427b6080f6895efa098d045a85513b0.png 

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已启动  

4736c6812b4946d2126d675a4fbf9e2f.png

1.8创建一个测试页,测试LAMP是否搭建成功

[root@zabbix ~]# vim /var/www/html/index.php   //创建一个测试页,并编辑

<?php

phpinfo()

?>

输入完:wq保存退出。

在浏览器输入主机地址,可以弹出下面表示正常

902e1290ddfd40bd864a0f3783b009e6.png

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

2731c221e3f1bb8f17f5ecbcf458a412.png

e40b6ad2e05f1bcb071fcdd6e960fa82.png

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表示连接数据库成功

c28aa5c7e65262cade984723bf1451f5.png

f92338a75e103f2e9c0eb4860687aa52.png

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服务

97c00541e5264f61a528097e6d813ac7.png

13ee6a69194ffd1ed8a8d6677322d6e8.png

2b77f8fcf8c2d5ec0063314284e53428.png

2.2导入数据到数据库zabbix中

先找zabbix下载下来的数据库压缩包(每个人电脑可能有所不同,所以这比较重要,不然后面会失败)

[root@zabbix ~]# cd /usr/share/doc/zabbix-    //为了找对应文件夹,可以不用按回车进入目录

b297819363f52182aa3ad691a68c3d69.png

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.15/create.sql.gz | mysql -uzabbix01 -p zabbix //Zabbix是数据库名称,zabbix01是数据库用户名,回车后会提示输入密码

[root@zabbix ~]#reboot

5ca6cdc40f6d401837d06d738623d2a4.png

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

177470a5aef863f7b154e3fca639c337.png

2.4启用zabbix服务

[root@zabbix ~]#systemctl enable zabbix-server //开机启用服务

[root@zabbix ~]#systemctl start zabbix-server //启用zabbix服务

d36513fd9f06a0f97c7a6b6afed13a1d.png

2.5登陆web配置zabbix

报错:The requested URL /zabbix was not found on this server.

解决:https://www.cnblogs.com/Caiyundo/p/10254239.html

3610fe7f2e1743cc4b054f4af0ebe482.png

f23d7624ba13b38dfc3cb78e6ba36f50.png

02a795d2f5c2488eb41ba4662dc83d48.png

5852225044f43574f93e7f426bb10839.png

264b342d8540e3f8f854f20edfca74c0.png

182c36ab35cb1510ed9bc4d5593b27e4.png

42268f27d2888411c757478d69b69bf8.png

2.6汉化

d5f44a68d35798507c22e290ba80b3ac.png

54d7465a2f5f117802e2cb9882c8701d.png

到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和端口才行

2d337afd7331e5369e85f80f9142a6c1.png

3.2检测备机

593e89107850a3264b45606b89ee8055.png

进入wbe检测界面,右上角点击新建wbe检查

0d68d14d70b17df8bbf13c321e6f5847.png

474d7ebf65d0f70e3f380421004e0e98.png

919b1e6018df6676ee70efdc546fe7d2.png

检测短信平台和其它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

11badc6b0c3202dbb7f4c2d42c1f78a8.png

5.配置zabbix邮件发送脚本

5.1查看zabbix脚本存放的位置

[root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf

a97e137afae2fcc68c3164193a89b836.png

5.2创建发送邮件脚本:

e0189781a3ac8bba1d6d636d4a5f9cef.png

[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 "${messages}" | mail -s "${subject}" $1 >>/tmp/mail.log 2>&1

[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控制台配置:

b58f667b2e2d800d3ba2676d30e7900a.png

bc2333f5e7226274ba89c9830c38f46b.png

{ALERT.SENDTO}:收件人地址

{ALERT.SUBJECT}:主题

{ALERT.MESSAGE}:详细内容

5.6配置用户告警通知方式:

管理à用户àadmin

89a8a791ba87529726c4a46b9bc9ea8c.png

报警媒介à添加à填写对应信息à点击“添加”à最后回到刚才的页面,点击”更新”

b639350b8dc024e4cc3416ecf51af93f.png

6.配置监控告警(这里以配置工单系统为例):

参考文档:https://blog.csdn.net/leonnew/article/details/80813947,配置的大概流程思路如下图:

618a88ce554ed3130dd1cd0c91e6bf76.png

6.1 配置监控项:配置à主机à监控项。

fb2f56466a209b7474d4cbdb4e50c284.png

6.2配置触发器:配置à主机à触发器

5875bf9e310d519938881772b23dcc55.png

558b93603c4f745dc4f6c50c736afe26.png

6.3配置动作:

74351c8d56be30cd27dd5a08b2a1ad2c.png

189737118c1d9a059fda0e223fecd2ab.png

默认标题:Resolved: {TRIGGER.NAME}

消息内容:

探测位置:华为云-广州区

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

事件 ID:{EVENT.ID}

0bb99b9c0f5cb5217e1e3f7df194d9f1.png

默认标题:Resolved: {TRIGGER.NAME}

消息内容:

探测位置:华为云-广州区

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

事件 ID:{EVENT.ID}

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。

期待您的一键三连支持(点赞、在看、分享~)

更多推荐