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 修改时区

在这里插入图片描述

[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
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
U:Admin P:zabbix
在这里插入图片描述
在这里插入图片描述
安装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网站页面进行汉化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
右键把字体复制到桌面上
在这里插入图片描述
然后上传到服务器上,并把TTFmv成ttf
在这里插入图片描述
修改配置文件字体名称
[root@node2 ~]# vim /usr/share/zabbix/include/defines.inc.php

在这里插入图片描述
在这里插入图片描述
可以正常显示中文字体了
在这里插入图片描述
配置邮件报警功能
1、在zabbix-master服务器上安装mail邮件服务
安装邮件服务
yum -y install mailx
在配置文件最后面添加邮件地址信息:
网易邮箱的:
set from=xxxxxxx@163.com 邮箱地址
set smtp=smtp.163.com 为邮件服务器
set smtp-auth-user=xxxxxxx@163.com 邮箱用户名
set smtp-auth-password=XXXXXXXX 邮箱密码,由于163邮箱需要设置授权,此处需要填写授权密码
set smtp-auth=login
测试:
[root@node2 ~]# echo "hello zabbix " | mail -s “liudonghui_zabbix-install” xxxxxxx@163.com
》》》点击此处详解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 xxxxxxxxxx@163.com "node1-java_server" "java-down"
# ./mailx.sh xxxxxxxxxx@163.com "主题" "内容"

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

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

看zabbix-srver服务端可不可以获取到值
在这里插入图片描述
去zabbix网页上进行添加
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建触发器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置服务监控自动触发邮件发送脚本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
详细的告警通知内容:

告警标题:故障({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}

添加触发器的告警动作简单的告警内容配置:
在这里插入图片描述
详细的内容告警配置:
在这里插入图片描述
恢复操作配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
监控配置流程:
Host groups(主机组)→Hosts(主机)→Applications(监控项组)→Items(监控项)→Triggers(触发器)→Event(事件)→Actions(处理动作)→User groups(用户组)→Users(用户)→Medias(告警方式)→Audit(日志审计)
下面我们测试发送邮件告警
停掉nginx服务
在这里插入图片描述
在这里插入图片描述
可以看到动作6封邮件都发送成功
在这里插入图片描述
邮箱提示:
在这里插入图片描述
在这里插入图片描述
详细的问题告警内容:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
详细的问题告警内容:
在这里插入图片描述
恢复邮箱告警提醒:
在这里插入图片描述
在这里插入图片描述
监控主机连接用户数超过3个进行报警:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
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:
添加新主机
在这里插入图片描述
添加监控模板
在这里插入图片描述
添加宏
值为配置snmp服务的时候创建的社区名称zabbix
在这里插入图片描述
主机添加完成后,等待一段时间等待变绿
在这里插入图片描述
同时也可以在最新数据中查看采集到的数据
在这里插入图片描述
zabbix添加Web页面监控:
zabbix提供了web监测功能,监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警,列入服务保证官网确打不开等现象,第一时间得知web崩溃信息并做相应处理。
在这里插入图片描述
创建web场景
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Status为Enabled则成功
在这里插入图片描述
设置web测试触发器:
在这里插入图片描述
创建一个新的触发器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择这个表达式:代表最新取回的值与N进行比较,如果值不等于N,那就进行告警
在这里插入图片描述
触发器已添加成功
在这里插入图片描述
Monitoring——Web查看,已经监控到URL状态。
在这里插入图片描述

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

  • 24
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值