安装zabbix监控实现钉钉推送告警

Zabbix介绍

Zabbix 是一个企业级分布式开源监控解决方案。

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。

安装前置

安装相关依赖程序

yum install -y php-mysql dejavu-sans-fonts php-bcmath php-gd php-ldap php-xml php php-mbstring libmysqlclient.so.18 

卸载mariadb

rpm -e --nodeps mariadb-libs


rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

yum-config-manager --enable rhel-7-server-optional-rpms

http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-server-mysql-4.0.1-1.el7.x86_64.rpm
yum install zabbix-server-mysql -y

http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-proxy-mysql-4.0.0-2.el7.x86_64.rpm
yum install zabbix-proxy-mysql -y

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-web-4.0.1-1.el7.noarch.rpm
yum install zabbix-web-mysql -y
注:以上3个安装包安装过程中可能会中断,需要重复多次yum install

安装zabbix server

rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.9-1.el7.x86_64.rpm

创建数据库

use mysql;
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@'192.168.%.%' identified by '123456';
flush privileges;

--初始化Zabbix server,导入zabbix库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456 -h192.168.1.156 -P3307 zabbix

--创建zabbix_proxy库
create database zabbix_proxy character set utf8;
grant all privileges on zabbix_proxy.* to zabbix@'192.168.%.%';
flush privileges;
--初始化Zabbix proxy,导入zabbix_proxy库(Zabbix server和Zabbix proxy如果安装在相同的主机,必须创建不同名字的数据库)
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p123456 -h192.168.1.156 -P3307 zabbix_proxy

编辑 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已创建的数据库
vi /etc/zabbix/zabbix_server.conf
DBHost=192.168.1.156
DBPort=3307
DBName=zabbix
DBUser=zabbix
DBPassword=123456

vi /etc/zabbix/zabbix_proxy.conf
DBHost=192.168.1.156
DBPort=3307
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=123456

vi /etc/zabbix/web/zabbix.conf.php
$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = '192.168.1.156';
$DB['PORT']     = '3307';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = '123456';

vim /etc/sysctl.conf    添加一行
kernel.sem = 500  64000  64  256

service zabbix-server start

--设置自启动
systemctl enable zabbix-server

vi /etc/httpd/conf.d/zabbix.conf
取消注释# php_value date.timezone Europe/Riga  改为
php_value date.timezone Asia/Shanghai

chown -R apache:apache /etc/zabbix/web
chown -R apache:apache /var/lib/php

查看相关日志
less /var/log/zabbix/zabbix_server.log
less /var/log/zabbix/zabbix_proxy.log

登陆和配置用户
http://192.168.1.155/zabbix
用户名、密码
Admin / zabbix

安装zabbix agent

修改配置文件

vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.155						//zabbix server的IP
ServerActive=192.168.1.155					//zabbix server的IP
Hostname=192.168.1.156						//本机IP

启动agent

service zabbix-agent start

钉钉推送告警配置

钉钉机器人api文档链接

Python代码

#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=284111d3e6ebf679d5c01435bd2273281d17eb9eec622647de3165164347fa54"

def msg(text):
    json_text= {
     "msgtype": "text",
        "at": {
            "atMobiles": [
                "132xxxxxxxx"
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':
    text = sys.argv[1]
msg(text)

其他异常处理

相关报错

报错1
less /var/log/zabbix/zabbix_proxy.log 发现有如下报错
zabbix_proxy [54195]: cannot open log:cannot create semaphore set: [28] No space left on device
解决办法
killall -TERM zabbix_server
killall -TERM zabbix_agentd

报错2
访问http://192.168.1.155/zabbix/
error 500
检查/etc/zabbix/web权限
chown -R apache:apache /etc/zabbix/web

其他常见错误解决思路

如果发现监控没有数据,请排查如下问题

  1. zabbix 客户端是否重启
  2. 脚本是否有执行权限
  3. 数据库是否有权限
  4. 环境变量是否有问题
  5. 请看 zabbix item 列,鼠标移至红色叉上,有错误提示。

配置mysql监控

vi /etc/zabbix/zabbix_agentd.d/.my.cnf
#############################
#zabbix agent
[mysql]
host=localhost
user=zabbix
password=123456
socket=/tmp/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=123456
socket=/tmp/mysql.sock
#############################

vi /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf   更改2处
HOME=/etc/zabbix/zabbix_agentd.d

GRANT USAGE,PROCESS,SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'zabbixagent'@'localhost' IDENTIFIED BY 'zabbixagent';


zabbix server端测试是否有数据
zabbix_get -s 192.168.1.156 -k mysql.status[Questions]
测试mysql是否正常 0-mysql is down,1-mysql is up
zabbix_get -s 192.168.1.157 -k mysql.ping

修改中文字体

--涉及的文件
/usr/share/zabbix/include/defines.inc.php
/usr/share/zabbix/assets/fonts
/etc/alternatives/zabbix-web-font

cd /usr/share/zabbix/assets/fonts
ln -snf SIMHEI.TTF graphfont.ttf
  • 0
    点赞
  • 2
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

<p> <span style="font-size:14px;"><strong>课程目标</strong></span> </p> <p> <span style="font-size:14px;">    全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;"><strong>课程简介</strong></span><span style="font-size:14px;"></span> </p> <p> <span style="font-size:14px;">        Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。</span> </p> <p> <span style="font-size:14px;">    </span> </p> <p> <span style="font-size:14px;">        本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:</span> </p> <p> <span style="font-size:14px;">        1、掌握Zabbix各个组件的配置和管理。</span> </p> <p> <span style="font-size:14px;">        2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。</span> </p> <p> <span style="font-size:14px;">        3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。</span> </p> <p> <span style="font-size:14px;">        4、掌握模版、宏变量、触发器和告警通知的配置和高级的应用方法。</span> </p> <p> <span style="font-size:14px;">        5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。</span> </p> <p> <span style="font-size:14px;">        6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。</span> </p> <p> <span style="font-size:14px;">        7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。</span> </p> <p> <span style="font-size:14px;">        </span> </p> <p> <span style="font-size:14px;">        本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。</span> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="color:#C00000;font-size:14px;">特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。</span></strong> </p> <span style="font-size:14px;"></span>
评论 2 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

VICTORY_DBA

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值