Centos7安装部署zabbix4.0监控服务

1、环境说明

1.1 Linux环境说明
zabbix 安装要求 https://www.zabbix.com/documentation/4.0/zh/manual/installation/requirements

[root@node2 ~]# cat /etc/redhat-release    查看系统版本信息
CentOS Linux release 7.4.1708 (Core) 
[root@node2 ~]# systemctl stop firewalld.service                关闭防火墙
[root@node2 ~]# systemctl disable firewalld.service             开机禁止启动防火墙
[root@node2 ~]# cat /etc/selinux/config  

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled                                  关闭selinux
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted 


[root@node2 ~]# 

selinux setenforce 0 临时关闭
getenforce 结果为Disabled 为关闭 检查selinux是否关闭
1.2 搭建LAMP环境
Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。

[root@node2 ~]# 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@node2 ~]# rpm -qa httpd php mariadb                           安装后检查应用版本
httpd-2.4.6-89.el7.centos.x86_64
mariadb-5.5.60-1.el7_5.x86_64
php-5.4.16-46.el7.x86_64

1.2.2编辑httpd

[root@node2 ~]# vim /etc/httpd/conf/httpd.conf
95 ServerName www.aihuidi.com:80                             修改主机名,URL
164     DirectoryIndex index.html index.php                  修改首页文件格式

1.2.3 编辑配置PHP,配置中国时区
[root@node2 ~]# vim /etc/php.ini

 878 date.timezone = PRC

1.2.4启动mysqld

[root@node2 ~]# systemctl start mariadb               启动数据库
[root@node2 ~]# systemctl enable mariadb           加入开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@node2 ~]# systemctl status mariadb           查看运行状态
● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-06-13 00:31:21 CST; 11s ago
 Main PID: 2490 (mysqld_safe)
   CGroup: /system.slice/mariadb.service
           ├─2490 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
           └─2653 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/ma...

Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: MySQL manual for more instructions.
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: Please report any problems at http://mariadb.org/jira
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: The latest information about MariaDB is available at http://mariadb.org/.
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: You can find additional information about the MySQL part at:
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: http://dev.mysql.com
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: Consider joining MariaDB's strong and vibrant community:
Jun 13 00:31:19 node2 mariadb-prepare-db-dir[2412]: https://mariadb.org/get-involved/
Jun 13 00:31:19 node2 mysqld_safe[2490]: 190613 00:31:19 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
Jun 13 00:31:19 node2 mysqld_safe[2490]: 190613 00:31:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Jun 13 00:31:21 node2 systemd[1]: Started MariaDB database server.
[root@node2 ~]# netstat -lntup|grep mysqld                             查看服务端口是否存在
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2653/mysqld   

1.2.5 初始化数据库,并设置root用户密码

[root@node2 ~]# mysqladmin -u root password aihuidi     设置数据库密码
[root@node2 ~]# mysql -Uroot -p    登录数据库
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;     #创建zabbix数据库
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;       #刷新权限
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
|        | localhost |
| root   | localhost |
|        | node2     |
| root   | node2     |
+--------+-----------+
7 rows in set (0.00 sec)

MariaDB [(none)]> drop user ''@localhost;      # 删除空用户
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> select user,host from mysql.user;
+--------+-----------+
| user   | host      |
+--------+-----------+
| zabbix | %         |
| root   | 127.0.0.1 |
| root   | ::1       |
| root   | localhost |
|        | node2     |
| root   | node2     |
+--------+-----------+
6 rows in set (0.00 sec)

MariaDB [(none)]> 

2、安装zabbix
安装依赖包+组件

[root@node2 ~]# 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@node2 ~]# yum install php-bcmath php-mbstring -y  #安装php支持zabbix组件
[root@node2 ~]# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm     安装zabbix   yum源
[root@node2 ~]# yum install zabbix-server-mysql zabbix-web-mysql -y  安装zabbix组件
[root@node2 ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.9/create.sql.gz | mysql -uzabbix -p -h 192.168.200.157 zabbix

Enter password: #导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 192.168.200.157)密码是用户zabbix登陆密码zabbix
[root@node2 ~]# vim /etc/zabbix/zabbix_server.conf 配置数据库密码

root@node2 ~]# 
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
100:DBName=zabbix
116:DBUser=zabbix
124:DBPassword=zabbix      把注释打开写zabbix库的密码
356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
473:Timeout=4
516:AlertScriptsPath=/usr/lib/zabbix/alertscripts
527:ExternalScripts=/usr/lib/zabbix/externalscripts
563:LogSlowQueries=3000
[root@node2 ~]# 

[root@node2 ~]# vim /etc/httpd/conf.d/zabbix.conf 修改时区

Centos7安装部署zabbix4.0监控服务_第1张图片

[root@node2 ~]# systemctl enable zabbix-server      启动zabbix服务并加入开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
[root@node2 ~]# systemctl start zabbix-server
[root@node2 ~]# systemctl start httpd        启动httpd服务并加入开机自启动
[root@node2 ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@node2 ~]# 

google 浏览器访问 http://ip/zabbix
Centos7安装部署zabbix4.0监控服务_第2张图片
Centos7安装部署zabbix4.0监控服务_第3张图片
Centos7安装部署zabbix4.0监控服务_第4张图片
Centos7安装部署zabbix4.0监控服务_第5张图片
Centos7安装部署zabbix4.0监控服务_第6张图片
Centos7安装部署zabbix4.0监控服务_第7张图片
U:Admin P:zabbix
Centos7安装部署zabbix4.0监控服务_第8张图片
Centos7安装部署zabbix4.0监控服务_第9张图片
安装zabbix-agent客户端
[root@node2 ~]# yum install zabbix-agent -y
[root@node2 ~]# vim /etc/zabbix/zabbix_agentd.conf

[root@node2 ~]# grep -n '^'[a-Z] /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.200.156
139:ServerActive=127.0.0.1
150:Hostname=Zabbix server
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
[root@node2 ~]# 
[root@node2 ~]# systemctl start zabbix-agent.service      启动客户端
[root@node2 ~]# systemctl enable zabbix-agent.service    开机启动客户端

zabbix网站页面进行汉化
Centos7安装部署zabbix4.0监控服务_第10张图片
Centos7安装部署zabbix4.0监控服务_第11张图片
Centos7安装部署zabbix4.0监控服务_第12张图片
Centos7安装部署zabbix4.0监控服务_第13张图片
Centos7安装部署zabbix4.0监控服务_第14张图片
Centos7安装部署zabbix4.0监控服务_第15张图片
右键把字体复制到桌面上
Centos7安装部署zabbix4.0监控服务_第16张图片
然后上传到服务器上,并把TTFmv成ttf
在这里插入图片描述
修改配置文件字体名称
[root@node2 ~]# vim /usr/share/zabbix/include/defines.inc.php

在这里插入图片描述
Centos7安装部署zabbix4.0监控服务_第17张图片
可以正常显示中文字体了
Centos7安装部署zabbix4.0监控服务_第18张图片
配置邮件报警功能
1、在zabbix-master服务器上安装mail邮件服务
安装邮件服务
yum -y install mailx
在配置文件最后面添加邮件地址信息:
网易邮箱的:
set [email protected] 邮箱地址
set smtp=smtp.163.com 为邮件服务器
set [email protected] 邮箱用户名
set smtp-auth-password=XXXXXXXX 邮箱密码,由于163邮箱需要设置授权,此处需要填写授权密码
set smtp-auth=login
测试:
[root@node2 ~]# echo "hello zabbix " | mail -s “liudonghui_zabbix-install” [email protected]
》》》点击此处详解mailx邮件配置
2、编写发送邮件脚本

[root@node2 ~]# cd /usr/lib/zabbix/alertscripts/
[root@node2 alertscripts]# vim mailx.sh               编写发邮件脚本
#!/bin/bash
##############################################################
# File Name: mailx.sh
# Version: V1.0
# Author: aihuidi
# Organization: www.xxxxxxx.com
# Created Time : 2019-6-13 14:35
# Description: Send an alarm email
##############################################################
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

3、修改权限

[root@node2 alertscripts]# touch /tmp/mailx.log
[root@node2 tmp]# chown -R zabbix.zabbix /tmp/mailx.log 
[root@node2 alertscripts]# chmod +x /usr/lib/zabbix/alertscripts/mailx.sh 
[root@node2 alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/

4、测试脚本发送邮件

[root@node2 alertscripts]# ./mailx.sh [email protected] "node1-java_server" "java-down"
# ./mailx.sh [email protected] "主题" "内容"

Centos7安装部署zabbix4.0监控服务_第19张图片
下面我们实现对nginx服务的监控
1、对nginx服务的监控有很多方法,可以从端口,进程,也可以从应用层进行监控,我们就应用层来模仿用户请求服务,检测nginx服务是否提供响应
nginx服务自行安装
定义触发器首先要获取相应值:
zabbix-agent客户端
在这里插入图片描述
添加自定义item文件存放路径
Centos7安装部署zabbix4.0监控服务_第20张图片
创建监控项值
在这里插入图片描述
书写格式,nginx-alive为监控项名称
在这里插入图片描述
重启zabbix-agnet客户端

[root@node2 zabbix_agentd.d]# systemctl restart zabbix-agent

看zabbix-srver服务端可不可以获取到值
Centos7安装部署zabbix4.0监控服务_第21张图片
去zabbix网页上进行添加
Centos7安装部署zabbix4.0监控服务_第22张图片
Centos7安装部署zabbix4.0监控服务_第23张图片
Centos7安装部署zabbix4.0监控服务_第24张图片
Centos7安装部署zabbix4.0监控服务_第25张图片
创建触发器
Centos7安装部署zabbix4.0监控服务_第26张图片
Centos7安装部署zabbix4.0监控服务_第27张图片
Centos7安装部署zabbix4.0监控服务_第28张图片
Centos7安装部署zabbix4.0监控服务_第29张图片
配置服务监控自动触发邮件发送脚本
在这里插入图片描述
Centos7安装部署zabbix4.0监控服务_第30张图片
Centos7安装部署zabbix4.0监控服务_第31张图片
Centos7安装部署zabbix4.0监控服务_第32张图片
详细的告警通知内容:

告警标题:故障({TRIGGER.STATUS}),服务器:({HOSTNAME1}发生:{TRIGGER.NAME})故障!
告警信息:
告警事件ID: {EVENT.ID}
告警主机IP: {HOST.IP}
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE}-{EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}

恢复标题:恢复({TRIGGER.STATUS}),服务器:({HOSTNAME1}:{TRIGGER.NAME})已恢复!
恢复信息:
告警事件ID: {EVENT.ID}
告警主机IP: {HOST.IP}
告警主机: {HOSTNAME1}
告警时间: {EVENT.DATE}-{EVENT.TIME}
告警等级: {TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目: {TRIGGER.KEY1}
问题详情: {ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}

简单的告警通知内容:

{TRGGER.STATUS}:{TRIGGER.NAME}

告警主机:{HOST,NAME}
告警 IP:{HOST.IP}
告警时间:{EVENT.DATE}-{EVENT.TIME}
告警等级:{TRIGGER.NAME}:{ITEM.VALUE}
事件 ID :{EVVNT.ID}

添加触发器的告警动作简单的告警内容配置:
Centos7安装部署zabbix4.0监控服务_第33张图片
详细的内容告警配置:
Centos7安装部署zabbix4.0监控服务_第34张图片
恢复操作配置:
Centos7安装部署zabbix4.0监控服务_第35张图片
Centos7安装部署zabbix4.0监控服务_第36张图片
Centos7安装部署zabbix4.0监控服务_第37张图片
监控配置流程:
Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event(事件)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Audit(日志审计)
下面我们测试发送邮件告警
停掉nginx服务
Centos7安装部署zabbix4.0监控服务_第38张图片
Centos7安装部署zabbix4.0监控服务_第39张图片
可以看到动作6封邮件都发送成功
Centos7安装部署zabbix4.0监控服务_第40张图片
邮箱提示:
在这里插入图片描述
Centos7安装部署zabbix4.0监控服务_第41张图片
详细的问题告警内容:
Centos7安装部署zabbix4.0监控服务_第42张图片
在这里插入图片描述
Centos7安装部署zabbix4.0监控服务_第43张图片
详细的问题告警内容:
Centos7安装部署zabbix4.0监控服务_第44张图片
恢复邮箱告警提醒:
Centos7安装部署zabbix4.0监控服务_第45张图片
Centos7安装部署zabbix4.0监控服务_第46张图片
监控主机连接用户数超过3个进行报警:
Centos7安装部署zabbix4.0监控服务_第47张图片
Centos7安装部署zabbix4.0监控服务_第48张图片
Centos7安装部署zabbix4.0监控服务_第49张图片
Centos7安装部署zabbix4.0监控服务_第50张图片
Centos7安装部署zabbix4.0监控服务_第51张图片
Centos7安装部署zabbix4.0监控服务_第52张图片
Centos7安装部署zabbix4.0监控服务_第53张图片
Centos7安装部署zabbix4.0监控服务_第54张图片
Centos7安装部署zabbix4.0监控服务_第55张图片
Centos7安装部署zabbix4.0监控服务_第56张图片
zabbix启用snmp监控linux主机
client:

1、安装snmp工具
[root@node2 ~ ]# yum install -y net-snmp
2、配置snmpd.conf
[root@node2 ~ ]# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
[root@node2 ~ ]# vim /etc/snmp/snmpd.conf 
在对应行修改以下内容:
41 com2sec notConfigUser  default       zabbix      #社区名称定义为zabbix
55 view    systemview    included   .1              #添加一个采集项.1,意味着可以采集到所有mib tree的信息  
[root@node2 ~ ]# systemctl start snmpd          启动snmp服务
[root@node2 ~ ]# systemctl status snmpd         查看运行状态
[root@node2 ~ ]# systemctl enable snmpd         加入开机自启动
[root@node2 ~ ]# netstat -lntup|grep 161        查看服务端口是否存在
udp        0      0 0.0.0.0:161             0.0.0.0:*                           94289/snmpd     

service:
安装snmpwalk工具测试

[root@node2 ~ ]#  yum install -y net-snmp-utils
[root@node2 ~ ]# snmpwalk -v 2c -c zabbix 192.168.200.157|wc -l
5656

Web side:
添加新主机
Centos7安装部署zabbix4.0监控服务_第57张图片
添加监控模板
Centos7安装部署zabbix4.0监控服务_第58张图片
添加宏
值为配置snmp服务的时候创建的社区名称zabbix
Centos7安装部署zabbix4.0监控服务_第59张图片
主机添加完成后,等待一段时间等待变绿
Centos7安装部署zabbix4.0监控服务_第60张图片
同时也可以在最新数据中查看采集到的数据
Centos7安装部署zabbix4.0监控服务_第61张图片
zabbix添加Web页面监控:
zabbix提供了web监测功能,监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警,列入服务保证官网确打不开等现象,第一时间得知web崩溃信息并做相应处理。
Centos7安装部署zabbix4.0监控服务_第62张图片
创建web场景
在这里插入图片描述
Centos7安装部署zabbix4.0监控服务_第63张图片
Centos7安装部署zabbix4.0监控服务_第64张图片
Centos7安装部署zabbix4.0监控服务_第65张图片
Status为Enabled则成功
Centos7安装部署zabbix4.0监控服务_第66张图片
设置web测试触发器:
Centos7安装部署zabbix4.0监控服务_第67张图片
创建一个新的触发器
Centos7安装部署zabbix4.0监控服务_第68张图片
Centos7安装部署zabbix4.0监控服务_第69张图片
Centos7安装部署zabbix4.0监控服务_第70张图片
选择这个表达式:代表最新取回的值与N进行比较,如果值不等于N,那就进行告警
在这里插入图片描述
触发器已添加成功
Centos7安装部署zabbix4.0监控服务_第71张图片
Monitoring——Web查看,已经监控到URL状态。
Centos7安装部署zabbix4.0监控服务_第72张图片

想要监控其它服务比如Mysql等其它服务。。。可以使用zabbix自带的模板,也可以自己写监控值,创建触发器

你可能感兴趣的:(linux运维)