zabbix(LNMP)的企业微信告警
一、简介
KVM+虚拟机的基于LNMP平台zabbix3.0的监控系统。能通过企业微信实现服务器状态的告警功能!
二、环境
服务器:DELL 710 32G RIDA 5
系统:Linux 3.10.0-862.el7.x86_64
基于KVM的虚拟机 系统:Linux 3.10.0-862.el7.x86_64
内存:6G
硬盘:80G
设置: SELINUX=disabled iptables -F -Z
三、准备LNMP平台
3.1 yum install nginx -y
配置一台虚拟主机并新建好相应目录及测试页(index.php);
~]# vim /etc/nginx/conf.d/vhost.conf
server {
listen 80;
server_name www.testzabbix.com;
root /Centos/web;
# index index.html index.php index.htm;
location ~ \.php$ {
root /Centos/web;
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
fastcgi_pass 192.168.1.186:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /Centos/web/$fastcgi_script_name;
include fastcgi_params;
}
}
systemctl enable nginx
systemctl start nginx
3.2 yum install mariadb-server
vim /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve = ON
innodb_file_per_table = ON
初始化数据库
zabbix数据库的授权:
create database zabbix character set utf8;
use zabbix;
grant all on zabbix.* to 'zabuser'@'192.168.1.%' identified by 'tica123';
grant all on zabbix.* to 'zabuser'@'localhost' identified by 'tica123';
systemctl enable mariadb
systemctl start mariadb
3.3 yum install php-fpm php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml -y
cp /usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default /etc/php-fpm.d/www.conf
vim /etc/php-fpm.d/www.conf
listen = 192.168.1.186:9000
listen.allowed_clients = 192.168.1.186
user = nginx
group = nginx
pm.status_path = /status
ping.path = /ping
ping.response = pong
新建session会话目录并改nginx的属主及属组
mkdir /var/lib/php/session
setfacl -m u:nginx:rwx session
systemctl start php-fpm
systemctl enable php-fpm
--------------------------------------------------------------------------------------------LNMP平台完成。
测试
四、zabbix安装及配置
4.1 安装源
rpm -i https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y
初始化数据库:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
复制目录及修改相关目录权限:
cp -rp /usr/share/zabbix /Centos/web
chmod -R 755 /Centos/web/zabbix
chown -R zabbix:zabbix /Centos/web/zabbix
chown -R nginx:nginx /etc/zabbix
chmod -R 755 /etc/zabbix
chown -R zabbix:zabbix /usr/lib/zabbix/
chmod -R 755 /usr/lib/zabbix/
主配置文件:
]# vim /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabuser
DBPassword=tica123
ListenIP=192.168.1.186
systemctl enable zabbix-server
systemctl start zabbix-server
查看所有服务的端口有没有起来:
4.2能过web安装zabbix后续
下一步,检查下面系统检测出的不符合项,按要求修改相应配置文件即可,我这是已经修改好的。
-----------------------------------------------------------------------------------------------------------安装完成
登陆的初始用户及密码:
用户:admin
密码:zabbix
报下以图片错语解决方法
原因是zabbix不能解析 localhost
可以在host 文件里做好对应 localhost 的解析
也可改安装时的配置文件:
vim /etc/zabbix/web/zabbix.conf.php
-------------------------------------------------------------------------------------中间添加主机略过
5. 配置企业微信告警
5.1 申请一个企业号
网址: https://work.weixin.qq.com/
1. 注册完后登陆后如创建一个应用。
2. 如下图查看自己建应用(红框里是后面要用到的):
3.在通讯录中新建并邀请人员加入(告警信息接收人):
4.配置微信接口信息
微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debug
5.corpid
6.corpsecret
7.测试连接
以上微信上配置完成
5.2 zabbix 主机配置
1.新建一个Item(cpu使用率)
2.配置发信的媒介
3.新建一个zabbix用户用来发信息
动作选项参数:英语版
Host:{$HOSTNAME}
Status:{TRIGGER.STATUS}
Date/Time:{EVENT.DATE} {EVENT.TIME}
IP:{IPADDRESS}
Infor:{ITEM.NAME}:{ITEM.VALUE}%
Host:{$HOSTNAME}
Event:{TRIGGER.NAME}
注意:要想支持中文 (注意新建数据库时要指定字符集为utf8)
4.接下来配置动作
5.bash shell脚本(参考网上同行的)
cd /usr/lib/zabbix/alertscripts
vim Email-weixin.sh
#!/bin/bash
CropID='xxxxxxxxxxxxxxxxxxx
Secret='xxxxxxxxxxxxxxxxxxxxxxxxxxx'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')
#echo $Gtoken
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body() {
local int AppID=1000002
local UserID=$1
local PartyID=2
local Msg=$(echo "$@" | cut -d" " -f3-)"\n"
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"msgtype": "'"text"\"",\n"
printf '\t"agentid": "'" $AppID "\"",\n"
printf '\t"text": {\n'
printf '\t\t"content": "'"$Msg"\"
printf '\t},\n'
printf '\t"safe":"0"\n'
printf '}\n'
}
#body $1 $2 $3
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
6. 测试
备注:
监控windows主机,把监控资源导出来命令
typeperf -qx d:\FileName.txt
zabbix(LNMP)的企业微信告警的更多相关文章
- zabbix企业微信告警配置教程
前言: zabbix企业微信告警只需要配置一次就可以使用很久了,但是发现再次配置时,总会有遗忘,很麻烦又要去重新熟悉,所以,现在记录一份详细的配置过程,方便日后再次配置. 1.zabbix_serve ...
- python3.6-Yelp/elastalert0.2.1-elk7.2.0邮件加企业微信告警
0.修改时区(前提条件已经安装好elk7.2) rm -f /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimetimed ...
- elk使用微信ElartAlert企业微信告警,自定义告警内容
第一种方式 alert: - "elastalert_modules.wechat_qiye_alert.WeChatAlerter" alert_text: " === ...
- zabbix3.4.7实现企业微信告警,亲测可用!
Zabbix 新版微信告警 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...
- zabbix 发送邮件到企业微信
#!/usr/bin/python2.7#_*_coding:utf-8 _*_#auther:拿来用用import requests,sys,jsonimport urllib3urllib3.di ...
- alertmanager + federate - Prometheus outside k8s cluster + 总体架构图 对接企业微信告警 + curl alertmanager to send alert
1.实验的架构 2.k8s 集群外的Prometheus的配置文件 [root@do1cloud03 prometheus]# cat prometheus.yml |egrep -v '#' glo ...
- zabbix微信告警实践
首先你得有个企业号!!!具体操作步骤可以参考http://itnihao.blog.51cto.com/1741976/1733245,里面写的很详细就不重复了. 微信公众号注册并配置完成后,还需要让 ...
- Prometheus-Alertmanager告警对接到企业微信
之前写过将Prometheus的监控告警信息通过Alertmanager推送到钉钉群. 最近转移了阵地,需要将Prometheus监控告警信息推送到企业微信群,经过两天的摸索,以及查了网上的一些资料, ...
- AlertManager 之微信告警模板,UTC时间错8个小时的解决办法
注意事项: alertmanager中的web页面显示的报警时间是UTC时间,错8个小时,企业微信报警模板中已经修改过来了 下面配置可以作为参考: 1.prometheus操作 1.1 配置告警规则, ...
随机推荐
- mybatis之关联关系
前言:在我们之前的hibernate中我们是学过了关联关系的,所以我们在本章给讲一讲mybatis的关联关系. mybatis的关联关系一对多的测试1.通过逆向工程生成Hbook,HbookCateg ...
- go语言设计模式之abstract factory
这个代码太多了,调了一晚上. 只能立图证明我测试通过了哈. 真的是工厂的工厂,有点深.
- AcWing 39. 对称的二叉树
地址 https://www.acwing.com/problem/content/description/38/ 题目描述请实现一个函数,用来判断一棵二叉树是不是对称的. 如果一棵二叉树和它的镜像一 ...
- LeetCode 1245 树的直径
地址 https://leetcode-cn.com/contest/biweekly-contest-12/problems/tree-diameter/ 给你这棵「无向树」,请你测算并返回它的「直 ...
- jenkins下载插件无插件显示+离线下载插件方法
1.打开Jenkins插件管理,可选插件为空,无法选择自己需要的插件进行下载 打开插件管理的“高级”选项,在升级站点填写 http://mirror.xmission.com/jenkins/upda ...
- WPF Datagrid 动态生成列 并绑定数据
原文:WPF Datagrid 动态生成列 并绑定数据 说的是这里 因为列头是动态加载的 (后台for循环 一会能看到代码) 数据来源于左侧列 左侧列数据源 当然num1 属于临时的dome使用 可 ...
- IT兄弟连 Java语法教程 流程控制语句 经典案例
使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环:而break则是完全终止循 ...
- Java菜题
编程语言:Java 2019年全国高校计算机能力挑战赛分设大数据算法赛(所谓的内部试题) 一.选择题(共15题,每题3分,共45分) 1. 在Java中下列说法正确的是( ) A.一个子类可以有多 ...
- jsp页面科学计数法显示问题的解决办法
在JSP页面中返回的double类型的数值,如果数值过大,就会被显示成科学计数法. 这个问题通常出现在表单填写的input中,因此是必须要解决的问题. JSTL提供了标准的数值格式化标签,使用上非常简 ...
- Java入门系列之字符串特性(二)
前言 上一节我们讲解到字符串本质上就是字符数组,同时详细讲解了字符串判断相等需要注意的地方,本节我们来深入探讨字符串特性,下面我们一起来看看. 不可变性 我们依然借助初始化字符串的方式来探讨字符串的不 ...