1.安装zabbix服务端
3.4的源
rpm -ivh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
b. 安装Zabbix server,Web前端,agent
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
c.安装mariadb数据库(设置开机启动)
yum install -y mariadb-server #更新MARIABD数据库
systemctl start mariadb.service #启动
systemctl enable mariadb.service #设置开机启动
d. 创建初始数据库
mysql -uroot -p
password 回车
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to [email protected] identified by 'password';
mysql> quit;
e.入初始架构和数据,系统将提示您输入新创建的密码
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
或者导入自建的数据库
gunzip create.sql.gz
MariaDB [(none)]> use zabbix;
source /data/zabbix.sql
f.为Zabbix server配置数据库 编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
g.为Zabbix前端配置PHP 编辑配置文件 /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
httpd端口改成8001
vim /etc/httpd/conf/httpd.conf
Listen 8001
h.启动Zabbix server和agent进程 启动Zabbix server和agent进程,并为它们设置开机自启:
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
i.配置Zabbix前端
连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix
2、客户端安装:
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
a.安装agent
yum install -y zabbix-agent
#更改zabbix-agent配置文件
host_ip=$(ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:")
sed -i "s/Server=127.0.0.1/Server=x.x.x.x/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/ServerActive=127.0.0.1/ServerActive=x.x.x.x/g" /etc/zabbix/zabbix_agentd.conf
sed -i "s/Hostname=Zabbix server/Hostname=$host_ip/g" /etc/zabbix/zabbix_agentd.conf
systemctl start zabbix-agent
systemctl enable zabbix-agent
3.微信报警
安装邮件传送代理MTA自带的postfix
yum -y install postfix
systemctl start postfix
systemctl enable postfix
拷贝weixin.py到alertscripts下授权
chmod 777 /usr/lib/zabbix/alertscripts/weixin.py
注意:格式和PIP版本
yum install dos2unix -y
dos2unix weixin.py
#安装pip 微信python依赖 需要升级到20.X.X
yum -y install epel-release
yum -y install python-pip
pip --version
pip install --upgrade pip
pip install requests
微信企业号申请(不会的百度)
地址: http://work.weixin.qq.com/
corpid='xxxxxxxxxxxxxx'
appsecret='xxxxxxxxxxxxxxxxxxxxxxxx'
agentid=1xxxxxxxxx
#微信脚本
cat weixin.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import requests
import sys
import os
import json
import logging
logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
datefmt = '%a, %d %b %Y %H:%M:%S',
filename = os.path.join('/tmp','weixin.log'),
filemode = 'a')
corpid='xxxxxxxxxxxxxx'
appsecret='xxxxxxxxxxxxxxxxxxxxxxxx'
agentid=1xxxxxxxxx
#获取accesstoken
token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
req=requests.get(token_url)
accesstoken=req.json()['access_token']
#发送消息
msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
touser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=sys.argv[2] + "\n\n" +sys.argv[3]
params={
"touser": touser,
# "toparty": toparty,
"msgtype": "text",
"agentid": agentid,
"text": {
"content": message
},
"safe":0
}
req=requests.post(msgsend_url, data=json.dumps(params))
logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)[roo
报警WEB配置微信报警(邮件报警同理)
配置媒介报警:

参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
#配置动作
故障:
故障{TRIGGER.STATUS},服务器名:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
项目名称:xxxxxx
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复:
恢复{TRIGGER.STATUS}, 服务器名:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
项目名称:xxxxxx
告警主机:{HOSTNAME}
告警主机IP地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
报警结果:
#安装grafana
yum install https://dl.grafana.com/oss/release/grafana-6.3.6-1.x86_64.rpm
systemctl start grafana-server
systemctl enable grafana-server
#zabbix插件
grafana-cli工具从命令行安装Zabbix :
grafana-cli plugins install alexanderzobnin-zabbix-app
#nginx反向代理grafana
add_header X-Frame-Options ALLOWALL;
location /grafana {
root html;
index index.html index.htm;
add_header 'Access-Control-Allow-Origin' '*';
add_header Access-Control-Allow-Methods GET,POST,OPTIONS,DELETE;
add_header 'Access-Control-Allow-Headers' 'userId,DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
proxy_pass http://x.x.x.x:3000;
rewrite ^/grafana/(.*) /$1 break;
proxy_set_header Host $host;
}
vi /usr/share/grafana/conf/default.ini
root_url=%(protocol)s://%(domain)s:%(http_port)s/grafana
#展示