一、企业微信号申请

https://work.weixin.qq.com/

1.注册

因为我们没有企业,所以我们选择组织。

下一步,

按需填好相应信息

2.配置微信企业号

设置好相应信息,后记录下企业id

ps:我的企业微信早就注册了,所以中间步骤不全,大体就是信息补充

点击通讯录,添加一个组或成员。可以扫码添加或者短信邀请

点击用户姓名,记录用户账号

点击企业应用,新增应用

创建完成后记录agentld和secret

准备事项

微信企业号:
企业号已被部门成员关注
企业号有可以发消息的应用,授权管理员,可以使用应用给成员发送消息需要的信息:
企业号id
secret
agentld

3.测试使用命令行发送消息

1)下载weixin.py脚本文件

链接:https://pan.baidu.com/s/1CN3CISkbNJwBGq1lepoN4Q
提取码:952u

weixin脚本内容:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#author: zhang
#date: 2019-04-07
#comment: zabbix接入微信报警脚本import requests
import sys
import os
import json
import logginglogging.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 = 'ww4adcac9b11fd1981'   #需要对应自己信息修改
appsecret = 'kI3rXnybHpw-BX-po6hxGQV9HfKjJuVtzxSkbuJnyjk'   #需要对应自己信息修改
agentid = 1000003    #需要对应自己信息修改#获取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=' + accesstokentouser=sys.argv[1]
subject=sys.argv[2]
#toparty='3|4|5|6'
message=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)                                                                              

2)上传脚本文件到数据库并修改

[root@zabbix ~]# rz weixin.py
[root@zabbix ~]# vim weixin.py
corpid = 'ww50a15d892a539965'
appsecret = '_eWeLhHDjylIrQoPIE9k2C_w205cWOxL6lmjSB7FMF8'
agentid = 1000003分别对应刚才记录的值

3)安装pip

[root@zabbix ~]# yum install python-pip -y如果下载不了:
[root@zabbix ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

4)安装requests

[root@zabbix ~]# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

5)用命令行发送微信消息

[root@zabbix ~]# python weixin.py 'WuYiShuai' 'text' 2222需要传参
第一个参数:企业微信用户名
第二个参数:标题
第三个参数:文章内容

4.配置zabbix微信报警

1)查看报警脚本存放的目录

[root@zabbix ~]# grep script /etc/zabbix/zabbix_server.conf|grep Alert
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts

2)将脚本移动到此目录并添加可执行权限

[root@zabbix ~]# mv weixin.py /usr/lib/zabbix/alertscripts/
[root@zabbix /usr/lib/zabbix/alertscripts]# chmod +x weixin.py

3)给微信告警日志授予zabbix用户

[root@zabbix ~]# chown zabbix.zabbix /tmp/weixin.log

5.创建报警媒介类型(发件人)

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

注:尽量不要手敲,括号两边不能有空格

6.创建报警媒介(收件人)

7.触发测试

[root@web01 ~]# swapoff -a

恢复

[root@web01 ~]# swapon -a

二、聚合图形、模板共享

1. 聚合图形

最新数据 >> 图形

自定义名称

点击聚合图形的名称,进行更改,添加要显示的图形即可。

2.幻灯片

添加幻灯片

监测中 >> 复合图形 >> 幻灯片演示

创建幻灯片,名称自定,选择要显示的

幻灯片根据设定的时间自动播放

3.模板共享

网络共享模板资源

https://github.com/zhangyao8/zabbix-community-repos

三、自动发现、自动注册

1.简介

自动发现:zabbix Server主动发现所有客户端,然后将客户端登记自己的小本本上。

缺点zabbix server压力山大(网段大,客户端多),时间消耗多。

自动注册:zabbix agent主动到zabbix Server上报到,登记;

缺点agent有可能找不到Server(配置出错)

2.两种模式

  • 被动模式:默认 agent被server抓取数据 (都是在agent的立场上说)
  • 主动模式:agent主动将数据发到server端 (都是在agent的立场上说)

注意: 两种模式都是在agent上进行配置

zabbix的使用要在hosts文件中预先做好主机名的解析

3.自动发现-被动模式

第一步:完成之前的安装

zabbix Server安装完毕

第二步:配置agent客户端

zabbix agent安装完毕,注意配置Server=192.168.100.102

第三步:在web界面上进行配置

    web界面:配置 >> 自动发现 >> Local network使用自带的自动发现规则(进行修改)即可

第四步:创建发现动作

配置 >> 动作 >> Auto discovery. Linux servers.

添加一个搜索条件,主机IP地址范围

在操作中添加两个动作: 添加主机与启用主机,注意选择后要点击下方的添加按钮。

在监测中自动发现栏查看自动发现后的主机列表。

4.自动注册-主动模式

第一步:zabbix Server安装完毕 (完成)

第二步:zabbix agent安装完毕,需要额外增加的配置

vim /etc/zabbix/zabbix_agentd.conf
ServerActive=192.168.100.102
# Hostname=Zabbix server
HostnameItem=system.hostname[root@localhost ~]# systemctl restart zabbix-agent.service
[root@localhost ~]# netstat -tunlp|grep zabbix

源文件与修改后的文件对比

源文件

第三步:在web页面配置动作

配置 >> 动作 >> 事件源(自动注册) >> 创建动作

名称填写自动注册,触发条件无需修改

在操作中依次选择添加主机,添加到主机群组,与模板关联

添加完动作后,等待就可以了。

注意:重启客户端可以加速发现。但是尽量不要在生产环境中使用。

四、简单监控全网服务

实现原理:通过检测端口存活与进程存活状态监控服务。

1.实际需求

公司架构内的100台生产环境服务器,需要使用zabbix全部监控起来。

2.方案规划

常规监控:cpu,内存,磁盘,网卡

问题:怎样快速添加100台机器?

方法1:使用克隆的方式

方法2:自动注册和自动发现

方法3:调用zabbix api接口 curl 、python

服务监控,url监控等特殊监控:自定义监控

监控服务简单通用方法:

​1). 监控端口 netstat ss lsof ==》 wc -l

2). 监控进程 ps -ef|grep 进程 |wc -l 试运行一下

3). 模拟客户端的使用方式监控服务端

web ==》 curl

​ mysql ==》 select insert

  1. 监控备份服务器,简单方法是监控rsync端口;
方法1:监控873端口net.tcp.port[,873]
方法2:模拟推送拉取文件
  1. 监控NFS服务器,使用监控NFS进程来判断NFS服务器正常;
方法1:端口(通过111的rpc端口获取nfs端口) net.tcp.port[,111]
方法2:showmount -e ip|wc -l
  1. 监控MySQL服务器,简单方法监控mysql的3306端口,或者使用zabbix提供的Mysql模板;
方法1:端口(通过3306的mysql端口) net.tcp.port[,3306]
方法2:mysql远程登录
方法3:使用zabbix agent自带的模板及key
  1. 监控2台web服务器,简单方法监控80端口;
方法1:端口(通过80的web端口) net.tcp.port[,80]
方法2:看网页状态码、返回内容==zabbix 自带WEB检测
  1. 监控URL地址来更精确的监控我们的网站运行正常;
使用zabbix自带的监控Web监测 进行监控
  1. 监控Nginx的7种连接状态。
自定义监控

3.具体实施

第一步:添加自动发现规则,创建发现动作。

第二步:监控各应用服务。

1)监控NFS服务

创建NFS监控模板

使用 proc.num[,,,] 键值,检测nfs进程的数量

在服务端进行测试
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "proc.num[,,,rpc]"
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "proc.num[nfsd,,,]"

创建NFS监控模板

可以新创建一个NFS服务器群组,用来管理NFS服务器。

在模板中创建应用集

在模板中添加监控项,并关联到新创建的应用集中

键值使用自带的 proc.num[,rpc]

两种检测方式使用一种,也可同时使用,键值为 proc.num[nfsd,]

为监控项创建触发器

为监控项创建图形

为触发器设置报警动作

检测配置情况。客户端关闭NFS服务,查看监控以及报警功能。

NFS服务器关闭NFS服务
[root@web01 zabbix_agentd.d]# systemctl stop nfs

故障恢复测试

NFS服务器启动NFS服务。
[root@web01 zabbix_agentd.d]# systemctl start nfs

2)监控MySQL服务

方案一:使用自带的MySQL模板

将自带的mysqlkey值加上mysql的账户密码,否则不能获取到数据。
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

方案二:监控MySQL端口状态。

net.tcp.port[,port] 利用自带的监控端口键值进行监控

server端测试MySQL运行状态
[root@localhost ~]# zabbix_get -s 192.168.100.106 -p 10050 -k "net.tcp.port[,3306]"
1#检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接

创建自定义MySQL模板、应用集、监控项、触发器、图表、动作。流程同自定义NFS模板相同。

测试报警功能。

MySQL服务器关闭MySQL服务。
[root@web02 ~]# service  mysqld stop
Stopping mysqld (via systemctl):                           [  OK  ]

启动服务测试恢复报警功能。

[root@web02 ~]# service  mysqld start
Starting mysqld (via systemctl):                           [  OK  ]

3)监控web服务

创建监控模板 监控 nginx服务与 80 端口

创建监控模板 监控 nginx服务与 80 端口
proc.num[<name>,<user>,<state>,<cmdline>]   进程数。返回整数
net.tcp.port[<ip>,port] 检查是否能建立 TCP 连接到指定端口。返回 0 - 不能连接;1 - 可以连接在server端测试NGINX状态
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "proc.num[,,,nginx]"
2
[root@localhost ~]# zabbix_get -s 192.168.100.105 -p 10050 -k "net.tcp.port[,80]"
1

操作流程与监控NFS和MySQL相似,通过监控进程与端口的方式。

创建模板 —— 创建应用集 —— 创建监控项 —— 创建触发器 —— 创建图形 —— 配置动作 —— 测试报警功能

4)监控URL地址

创建检测页面,在NGINX服务器根目录下新建一个check.html检测文件

在web服务器添加
[root@web01 ~]# echo ok > /usr/share/nginx/html/check.html

测试检测页面,在server端进行测试

[root@localhost ~]# curl http://192.168.100.105/check.html
ok如果有多台服务器,可以循环测试
[root@localhost ~]# for i in 105 106 107;do curl http://192.168.100.$i/check.html;done
ok
curl: (7) Failed connect to 192.168.100.106:80; Connection refused
curl: (7) Failed connect to 192.168.100.107:80; No route to host

创建URL监测模板

创建应用集

创建web监测

创建图形

查看web监测效果

zabbix===》微信报警、聚合图形、自动发现自动注册、监控NFS、MySQL、web服务、URL地址相关推荐

  1. Zabbix(六):项目实战之--自动发现nginx调度器及后端web服务集群、自定义参数监控...

    项目: 1.自动发现nginx调度器及后端apache构建的web服务集群: 2.使用自定义参数监控调度器上nginx服务的相关统计数据及速率数据: 3.使用自定义参数监控后端apache服务的相关统 ...

  2. zabbix—自动发现端口并监控

    自动批量检查agent开放的端口 PS:如果服务器上的应用都是固定的,不会随机产生的都可以使用自动发现端口来监控:  如果服务器会随机出现端口且每次启动程序都会改变,可以采用第二种方法,来监控指定的端 ...

  3. Zabbix监控系统自动发现/自动注册

    案例概述 ■公司刚刚搭建完Zabbix,现在需要对后续的服务器添加监控,由于公司有几百台服务器,因此使用自动发现或者自动注册来批量添加服务器,并且配置好邮件报警用于及时发现服务器问题.但是由于Zabb ...

  4. linux查看报警信息,linux_监控zabbix微信报警详细步骤

    Zabbix微信报警 1.环境: 系统:CentOS Linux release 7.5.1804 (Core) 内核:3.10.0-862.6.3.el7.x86_64 zabbix已经部署完毕 2 ...

  5. Zabbix - 微信报警

    Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及 ...

  6. zabbix拓扑图和聚合图形

    目录 一.环境准备 1.搭建zabbix基础环境 2.创建被监控主机 二.拓扑图 1.拓扑图作用 2.拓扑图绘制步骤 三.聚合图形 1.聚合图形的作用 2.创建聚合图形 一.环境准备 1.搭建zabb ...

  7. 基于docker安装部署Zabbix及使用,自动发现、日志监控报警及参照官方文档遇到的问题(图文)

    目录 一.相关原理 (1)概述 (2)Zabbix 功能 (3)Zabbix 概述 (4)zabbix监控架构详解 二.主要步骤 (一)工具/环境准备 (二)docker安装及测试 (三)docker ...

  8. zabbix 监控项自动发现过滤_Zabbix监控之配置Linux自动发现与自动注册报警

    1.关于linux客户端的部署上篇已经介绍不清楚的可以去看一下(Zabbix监控之agent和邮件报警配置) 1.1.一.配置自动发现: 1.1.1.1.1.打开Zabbix Web管理界面,创建Za ...

  9. zabbix snmp 自动发现、自定义自动发现规则和监控项原型实现原理

    自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法. 例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项:还 ...

最新文章

  1. crontab 知识查阅
  2. Anti-dump的原理
  3. 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图
  4. 北亚数据恢复关于服务器存储MDisk重建的数据恢复方法的研究
  5. 【Docker】 Docker pull的时候指定仓库
  6. base6 python 字节_Python使用base64模块进行二进制数据编码详解
  7. 微信蓝牙协议一:协议文档查阅方法和空中数据解析示例
  8. 用于MPEG视频流的使能服务质量中间件
  9. 《终极算法》读书笔记(一)机器学习革命
  10. Android 超级工具类
  11. 金蝶BOS系统dep无法扩展,如何增加白名单使其能够继续扩展
  12. Web组件开发一 分层详解 和模块化
  13. Sublime Text 3破解补丁
  14. 2019_GDUT_新生专题I选集 L Codeforces-1260B
  15. 使用el-tree组件当后台返回的数据过多导致页面反应时间过长或页面崩溃的问题及解决方案
  16. PCB安规设计是怎样的?怎样设计高压电源的安规?ECM设计间距是怎样的,CAF设计间距要求是怎样的?电源的PCB间距设计指南,安规标准有哪些?380V电源安规设计
  17. python基础教程四级查数据_四六级成绩还可以这样查?Python助你装B一步到位!!!...
  18. specification java_使用JPA实现Specification规范模式 -解道Jdon
  19. Java SE基础知识详解第[12]期—集合(Set、Collections、Map、集合嵌套)
  20. Java随机更换背景图片_利用Java处理图片,更换背景

热门文章

  1. 京东发布“厂直优品”计划 目标为超10万家制造企业搭建零售系统
  2. 使用手机可以在线拍照、翻译图片文字吗?
  3. mysql如何加悲观锁_【mysql】关于悲观锁
  4. delphi 删除文件夹
  5. R语言-如何在某一列中添加字母X
  6. [CF3B]Lorry
  7. 炫龙笔记本的gtx965m显卡玩游戏很卡
  8. MTd与MDd的区别
  9. 常见的5种保护电路(含电路图)
  10. 1-14 串口在S3C2440上的原理、配置与驱动实现