目录
1.rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
安装zabbix-server、mysql、zabbix-agent
找到vim/etc/zabbix_server.conf里alertscripts的路径
前言
随着科技的进步,运维监控在软件中已经变的非常重要的一个环节,自动监控已经取代人为的监控,可以第一时间收到报警信息,解决问题。
Centos7.0 安装Zabbix4.0对接钉钉消息报警
配置zabbix的yum源
1.rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
更换zabbix的清华源
[zabbix]
name=Zabbix Official Repository - $basearch
#baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/$basearch/
baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591#[zabbix-non-supported]
#name=Zabbix Official Repository non-supported - $basearch
#baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
#enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
#gpgcheck=1
2.yum clean all
3.yum makecache
安装zabbix-server、mysql、zabbix-agent
4.依赖环境: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*
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
注意:安装时若没有安装PHP环境,会自动安装PHP相关的包和httpd,因为zabbix的Web管理页面是PHP写的
5.yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
6.安装出现问题如下对应执行
出现fping 执行 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
出现libiksemel.so.3 执行yum install -y http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpm
7.进入MySQL数据库并设置开机启动,创建数据库实例,授权
8.mysql -u root -p 输入密码进入mysql数据库
9.select user,host from mysql.user; #有空用户名称占用导致本地无法登录远程可登录
drop user ''@localhost; #删除空用户
password
mysql> create database zabbix character set utf8 collate utf8_bin; # 创建一个数据库
CREATE USER 'zabbix'@'%' IDENTIFIED BY '123456'mysql> grant all privileges on *.* to 'zabbix'@'%';# 授权zabbix用户拥有zabbix数据库的所有权限
mysql>alter user 'zabbix'@'%' identified with mysql_native_password by '123456';修改密码
mysql>flush privileges; # 刷新数据库权限表mysql> quit
10.导入初始模式和数据
mysql -u zabbix -p zabbix < zabbix.sql mysql导入表
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -pZabbix导入MySQL数据库报错ERROR 1046 (3D000) at line 1: No database selected
解决办法:
编辑要导入的数据库文件
vim /usr/share/doc/zabbix-server-mysql-4.0.7/create.sql.gz# 在第一行加上
use zabbix;
11.配置zabbix-server的配置文件zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
# DBPassword=password(124行)
DBHost=localhost # 数据主机名
DBName=zabbix # 数据库实例
DBUser=zabbix # 数据库里创建的用户名
DBPassword=zabbix # 数据库里创建的密码
12.编辑Apache的配置文件,设置正确的时区
vim /etc/httpd/conf.d/zabbix.conf
# php_value date.timezone Europe/Riga(20行)
改成 php_value date.timezone Asia/Shanghai编辑httpd
vi /etc/httpd/conf/httpd.conf
ServerName www.zabbixyk.com #修改为主机名
DirectoryIndex index.html index.php # 添加首页支持格式编辑配置php,配置中国时区
vi /etc/php.ini
date.timezone = PRC # 配置时区
systemctl start httpd #启动并加入开机自启动httpd
systemctl enable httpd
13.重新启动 zabbix-server、zabbix-agent 和 httpd 并设置为开机自启动
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
在浏览器输入地址http://服务器ip/zabbix/setup.php,出现欢迎界面,点击下一步,进行 zabbix 的页面初始化配置
14.输入用户名密码:Admin 密码:zabbix 登录zabbix界面设置,如下是登录界面
15.修改语言,改成中文,如下图
16.添加主机
17.创建应用集
18.创建监控项
19.创建触发器
20. 添加报警媒介
21.发送消息设置
22. 添加报警媒介类型 (这里脚本名称dingding.py和服务器配置里/usr/lib/zabbix/alertscripts下面配置的脚本名称要一致)
23.创建动作器
24.添加操作模板,设置操作
25.恢复操作设置模板
26.更新操作设置模板
27.服务器添加钉钉脚本
找到vim/etc/zabbix_server.conf里alertscripts的路径
/usr/lib/zabbix/alertscripts
#!/usr/bin/python
# -*- coding: utf-8 -*-
#zabbix钉钉报警
#!/usr/bin/env python
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
#api_url后跟告警机器人的webhook
api_url = "这里地址是下图钉钉Webhook:地址,复制到这里就可以"
def msg(text):
json_text= {
"msgtype": "text",
"text": {
"content": text
}
}
print(requests.post(api_url,json.dumps(json_text),headers=headers).content)
if __name__ == '__main__':
text = sys.argv[1]
msg(text)
28.创建好后执行chmod+x dingding.py给予执行权限,然后输入./dingding.py测试会提示发送失败,提示里面有个IP需要复制到钉钉群IP管理如下 图,添加好后,再次发送./dingding.py测试,群里会收到如下信息,
前面用到的模板在zabbix界面添加钉钉报警的模板
报警媒介,脚本类型
{ALERT.MESSAGE}
[ZABBIX标题:报警触发] 当前状态:{TRIGGER.STATUS},服务器:{HOSTNAME1} 发生:{TRIGGER.NAME}故障!ZABBIX告警通知
告警状态:【{TRIGGER.STATUS}】
告警主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
告警时间:【{EVENT.DATE} {EVENT.TIME}】
告警等级:【{TRIGGER.SEVERITY}】
告警名称:【{TRIGGER.NAME}】
当前状态:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代码:【{EVENT.ID}报警恢复] 当前状态:OK,服务器zabbix_server 人员 瓦斯 数据更新恢复!
ZABBIX告警恢复
恢复状态:【{TRIGGER.STATUS}】
恢复主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
恢复时间:【{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}】
告警等级:【{TRIGGER.SEVERITY}】
告警名称:【{TRIGGER.NAME}】
当前状态:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代码:【{EVENT.ID}】
29.zabbix4.0 agent 客户端安装(如果监控的是本机就不用另外安装客户端了,如果不是本机需要在监控的主机上安装客户端,监控的如果是Windows系统,需要在Windows系统主机上安装Windows版的客户端安装默认就可以,设置跟linux设置一样)
下载rpm安装包
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
下载rpm安装包
yum install zabbix-agent -y
修改zabbix-agent配置文档
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid #pid文件的存放位置
LogFile=/var/log/zabbix/zabbix_agentd.log #日志存放的路径
LogFileSize=10 #10表示日志大小为10M时,进行日志切割
Server=proxy的IP地址 # agent被动模式下,指向proxy或server地址,
ServerActive= # agent主动模式下,指向proxy或server地址
Hostname=zabbix-proxy # Hostname必须与主机名一致设置开机启动:
systemctl enable zabbix-agent
30.如果配置成功后点击最新数据输入主机 应用集可以查到添加的监控项最新数据,历史记录,如果监控到数据断传就会触发报警。
总结,本教程是监控数据采集情况,通过文件更新时间来监控触发报警,教程中有不懂的可以随时咨询我,希望能够给你们带来帮助。