Zabbix4 + mysql + grafana + LiveGBS监控实战

32 篇文章 0 订阅

http://www.zabbix.com  下载并部署运维系统(略)

ubuntu需要增加DNS服务 通过修改:

/etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个

修改好保存,然后执行

resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

可以看到dns已经加上可以解析了,无需重启。

安装配置snmp服务支持

sudo apt-get install snmpd 这里安装的还是和centos上有区别的。

安装后执行snmpd -v

NET-SNMP version:  5.7.2
Web:               http://www.net-snmp.org/
Email:             net-snmp-coders@lists.sourceforge.net

表明安装成功。

如果要使用snmpwalk 这个命令也需要安装一下
执行安装 apt-get install snmp
执行查看snmpwalk -V

NET-SNMP version: 5.7.2

这样就完成了安装。
配置

首先测试下能够使用snmpwalk
snmpwalk -v 2c -c public localhost 1.3.6.1.2.1.1.1

可能会提示如下
Timeout: No Response from localhost

请确保snmp 服务已开启

service snmpd status
service snmpd start

如果需要更多的信息,则需要进一步配置。

vim /etc/snmp/snmpd.conf

配置外网访问

在15行左右,将agentAddress udp:127.0.0.1:161注释掉
在17行左右,将agentAddress udp:161,udp6:[::1]:161取消注释

这样可以我们在别的计算机上通过命令查看,而不是只能通过本地访问。

可以我发现这样配置后查看snmpd的状态发现总是snmpd is not running。

经过一番查找发现是ipv6 的问题。

因为默认的该版本的ubuntu是没有开启ipv6的。
查看版本是否开启了ipv6
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

如果是1则关闭,如果显示是0则是开启的。
我的ubuntu14则没有开启,为此有两种办法解决。

1.不配置snmp的ipv6,只是用ipv4
2.配置ubuntu使之支持ipv6

方法:
只配置agentAddress udp:161即可。
重启snmpd 没有问题。

zabbix的web界面添加主机

  • 添加模版

  • 设置 communities

SNMP 监控 ESXI

1. 开启 ESXI 的 SNMP 服务(允许所有主机访问)

  • 设置 communities
[root@esxi:~] esxcli system snmp set --communities public
  • 开启 SNMP 服务
[root@esxi:~] esxcli system snmp set --enable true
  • 允许所有主机访问 SNMP
[root@esxi:~] esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true
Already allowed all ip
  • 设置防火墙
[root@esxi:~] esxcli network firewall ruleset set --ruleset-id snmp --enabled true
  • 重启 SNMP 服务
[root@esxi:~] /etc/init.d/snmpd restart
root: snmpd Running from interactive shell, running command: esxcli system snmp set -e false.
root: snmpd setting up resource reservations.
root: snmpd opening firewall port(s) for notifications.
root: snmpd watchdog for snmpd started.

2. 开启 ESXI 主机的 SNMP 服务(允许特定主机访问)

  • 禁止所有主机访问 SNMP
[root@esxi:~] esxcli network firewall ruleset set --ruleset-id snmp --allowed-all false
  • 设置防火墙
[root@esxi:~] esxcli network firewall ruleset allowedip add --ruleset-id snmp --ip-address 10.0.101.0/24
[root@esxi:~] esxcli network firewall ruleset set --ruleset-id snmp --enabled true
  • 重启 SNMP 服务
[root@esxi:~] /etc/init.d/snmpd restart

3. 测试是否能获取 SNMP 数据

  • 在其他服务器上安装 SNMP
[root@zabbix ~]# yum -y install net-snmp net-snmp-utils net-snmp-devel
  • 测试获取信息
[root@zabbix ~]# snmpwalk -v 2c -c sunwoda 192.168.9.24:161 | wc -l
4594

4. Zabbix 添加主机

  • 添加模板

  • 设置 communities

配置邮箱报警功能


1、配置自动邮箱发送

yum install mailx -y

vim /etc/mail.rc 编辑mailx配置文件    

ubuntu版本:

1、安装heirloom-mailx

apt install heirloom-mailx

sudo vi  /etc/s-nail.rc

set from=377909726@qq.com

set smtp=smtp.qq.com

set smtp-auth-user=377909726@qq.com

set smtp-auth-password=邮箱密码

set smtp-auth=login

  • 测试邮箱软件是否可用

echo "hello world" | mail -s "testmail" 377909726@qq.com //测试发信正常


2、编写邮件发送脚本

  • 邮件发送触发脚本一定要写在zabbix指定的alterscripts目录下,后面直接指定脚本名称即可触发。

vim /usr/lib/zabbix/alertscripts

#!/bin/bash#send mail

messages=`echo $3 | tr '\r\n' '\n'`

subject=`echo $2 | tr '\r\n' '\n'`

echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1

touch /tmp/mailx.log 

chown -R zabbix.zabbix /tmp/mailx.log 

chmod +x /usr/lib/zabbix/alertscripts/mailx.sh

chown -R zabbix.zabbix /usr/lib/zabbix/

  • 测试发邮件脚本是否可以正常工作

./mailx.sh 377909726@qq.com "主题" "内容"


3、配置服务监控自动触发邮件发送脚本

告警主机:{HOST.NAME}

告警IP:{HOST.IP}

告警时间:{EVENT.DATE}-{EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息:{TRIGGER.NAME}:{ITEM.VALUE}

时间_ID:{EVENT_ID}

告警信息飞书对接:

创建飞书机器人

发送告警信息脚本

vim /usr/lib/zabbix/alertscripts/feishu.py

 

#!/usr/bin/python3
import requests
import json
import sys
import os
import datetime

#飞书api接口
url = "https://open.feishu.cn/open-apis/bot/v2/hook/fc0b740b-0745-4a80-9e13-410aceacd738"

def send_message(message):
    payload_message = {
        "msg_type": "text",
        "content": {
            "text": message
        }
    }
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=json.dumps(payload_message))
    return response


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

chmod +x feishu.py

zabbix设置

创建媒体类型

{ALERT.MESSAGE}

 用户内添加报警媒介

 创建动作

 

异常通知: {EVENT.NAME}

告警主机:{HOSTNAME1}
告警时间:{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY} 
告警信息:{EVENT.NAME} 
告警项目:{TRIGGER.KEY1} 
问题详情:{ITEM.NAME}:{ITEM.VALUE} 
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 
事件ID:{EVENT.ID}

 

Zabbix 监控时间与系统时间不一配置

vi /etc/sysconfig/clock
ZONE="Asia/Shanghai"

更改年月日小时分秒(这里是肯尼亚当前时间)
date -s '2018-05-17 10:10:00'

clock -w   写入系统时间

hwclock  同步bios 时间(这个是虚拟机可以忽略不配置)

 开启网络时间同步

systemctl restart ntpdate

 开机启动
chkconfig --leves 2345 ntpdate on


vi /etc/apache2/conf-available/zabbix.conf
date.timezone = "Asia/Shanghai"


vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai


重启服务http服务
systemctl restart httpd
 

ubuntu16.04安装Grafana

1.在Grafana官网查看最新版本。
这里写图片描述
2.输入以下命令,执行安装。

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.3_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5.1.3_amd64.deb

3.启动Grafana服务。

sudo service grafana-server start

sudo vi /etc/iptables/rules.v4          //防火墙web项中增加3000端口开放

reboot

sudo service grafana-server start

4.web登录,输入服务器IP地址,grafana默认端口为3000,默认用户名和密码都是admin。

【3】安装grafana-zabbix插件

grafana常用两种方式进行安装zabbix 插件。

第一种:使用grafana-cli工具安装

  • 查看插件列表中,zabbix插件的版本
# grafana-cli plugins list-remote | grep zabbix
  •  安装zabbix 插件
# grafana-cli plugins install alexanderzobnin-zabbix-app
  •  安装成功后,重启grafana服务
# systemctl restart grafana-server

 配置grafana对接zabbix

【1】http方式登录grafana的GUI界面,在右侧“Installed Apps”中可以清楚的看到我们刚安装的zabbix插件,选择“enable now”,启用zabbix插件

【2】添加Zabbix为数据源

选择左侧配置图标“Configuration”→“Data Sources”→“Add data source”

  • Name:设置数据源名称
  • Type:选择数据源的类型为“zabbix”
  • URL:对于zabbix来说,就是zabbix的API接口地址      //http://192.168.128.137/zabbix/api_jsonrpc.php
  • Access:默认是Server模式,但这里设置为Browser 模式,与Server模式相比,Browser模式是通过浏览器直接访问数据
  • Username & Password:zabbix的用户名和密码。如果要用非Admin账号,务必确保非Admin账号的权限,否则在使用grafana时,可能出现无法画图的情况。

填写完成后,选择Save & Test,一般只要看见Success就表示添加成功了

如何使用Grafana

【1】添加图形到grafana 仪表盘

在home页面选择上面新加的Dashboard,通常情况下,点击进去之后会发现所有的图形都是N/A

【2】以添加CPU负载图形为例

【3】添加对应主机的监控项item

grafana支持正则表达式,例如,如果需要显示的CPU时间(用户、系统、iowait,等等)你可以使用正则表达式在项字段创建图:

/CPU (?!idle).* time/

同时也支持Add多个query。

增加饼图插件:

grafana-cli plugins install grafana-piechart-panel

重启grafana

以icmp ping loss为例:

Zabbix数据库mysql维护

sudo su    //切换在系统root账号

mysql -uroot    //登录

  use zabbix;   //切换至库

  select * from events where eventid = 14664;    

  delete from events where eventid = 14664;

  flush privileges;

  exit       //删除问题记录后退出

sudo mysql -uroot -pXXXX       //密码随机生成/root/.my.cnf

show variables like '%dir%' ;

查看数据库位置后:

use zabbix;

//一般是history表和history_uint表占用了大部分空间。

#使用清理响应的表
mysql >TRUNCATE TABLE tb_name;

#释放表空间
mysql > OPTIMIZE TABLE tb_name;

chmod -R 777 /var/lib/mysql/zabbix

cd /var/lib/mysql/zabbix

ls -sh *

迁移datadir数据库文件目录:

sudo mysql -uroot -pXXXX

show variables like '%dir%';         //查看datadir目录

sudo /etc/init.d/mysql stop

sudo fdisk -l

fdisk /dev/sdb        //启用新磁盘

m - n - p - 1   之后,fdisk会让你选择该分区的开始值和结束值,直接回车

最后键入:w,保存所有并退出,完成新硬盘的分区。

mkfs -t ext4 /dev/sdb1         // 用ext4文件系统格式化磁盘

mkdir /media/hd01

mount /dev/sdb1 /media/hd01

chmod -R 777 /media/hd01

开机自动挂载

修改/etc/fstab文件,添加如下行:

/dev/sdb1       /media/hd01      ext4    defaults,        0       1

mkdir /media/hd01/mysql

sudo cp -r  /var/lib/mysql/* /media/hd01/mysql

vi /etc/apparmor.d/usr.sbin.mysqld

sudo /etc/init.d/apparmor  restart

sudo vi  /etc/mysql/mysql.conf.d/mysqld.cnf

service mysql restart

Ubuntu修改时区和更新时间

root@ubuntu:/# date -R   

结果时区是:-0500
我需要的是东八区,这儿显示不是,所以需要设置一个时区

1.运行tzselect

root@ubuntu:/# tzselect

在这里我们选择亚洲 Asia,确认之后选择中国(China),最后选择北京(Beijing)

选择:4  9 1  1

2.复制文件到/etc目录下

root@ubuntu:/# cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

3.再次查看时间date -R,已经修改为北京时间

改时间

修改时间

sudo date -s MM/DD/YY //修改日期
sudo date -s hh:mm:ss //修改时间

在修改时间以后,修改硬件CMOS的时间

sudo hwclock --systohc //非常重要,如果没有这一步的话,后面时间还是不准

----------------------------------------------------------------------------------------------------------------------------------

故障排查:

1.zabbix-server服务挂了,启动后又自动停机了,并且日志中很多下面这个错误

报警提示

Zabbix value cache working in low memory mode
Less than 25% free in the configuration cache

1

2

3

4

5

6

7

8

[root@localhost zabbix] cat /var/log/zabbix/zabbix_server.log

6278:20180320:190117.775 using configuration file: /etc/zabbix/zabbix_server.conf

6278:20180320:190117.807 current database version (mandatory/optional): 03020000/03020001

6278:20180320:190117.807 required mandatory version: 03020000

6278:20180320:190118.378 __mem_malloc: skipped 0 asked 136 skip_min 4294967295 skip_max 0

6278:20180320:190118.378 [file:dbconfig.c,line:653] zbx_mem_malloc(): out of memory (requested 136 bytes)

6278:20180320:190118.378 [file:dbconfig.c,line:653] zbx_mem_malloc(): please increase CacheSize configuration parameter

6354:20180320:190128.632 Starting Zabbix Server. Zabbix 3.2.10 (revision 74337).

1

2

3

4

5

6

7

8

9

10

11

12

13

[root@localhost zabbix] vi /etc/zabbix/zabbix_server.conf

### Option: CacheSize

#       Size of configuration cache, in bytes.

#       Shared memory size for storing host, item and trigger data.

#

# Mandatory: no

# Range: 128K-8G

# Default:

# CacheSize=8M

CacheSize=2048M

[root@localhost zabbix]# systemctl restart zabbix-server

备注:今天批量添加了700台主机,造成内存溢出。

zbbix-agent对主机服务sevice进行监控

1.被监端agent配置服务器指向zabbix主机

2.新建监控项(以打印服务print spooler为例):

新增触发器:

ok

LiveGBS对视屏监控进行整合

安装包

  • Windows平台使用的安装包:
    LiveCMS-windows-***.zip
    LiveSMS-windows-***.zip

  • Linux平台使用的安装包:
    LiveCMS-linux-***.tar.gz
    LiveSMS-linux-***.tar.gz

服务运行:部署很简单看官方文档

!!! 安装包所在路径不要包含 中文
先运行 LiveCMS, 再运行 LiveSMS

4.1 Windows

4.1.1 直接运行

4.1.1.1 信令服务(LiveCMS)

  • 启动: 解压目录中,直接双击 LiveCMS.exe

  • 停止:以 Ctrl + C 停止服务, 不可以直接叉控制台窗口, 否则服务停不干净

4.1.1.2 流媒体服务(LiveSMS)

  • 启动: 解压目录中,直接双击 LiveSMS.exe

  • 停止:以 Ctrl + C 停止服务, 不可以直接叉控制台窗口, 否则服务停不干净

4.1.2 以服务启动

4.1.2.1 信令服务(LiveCMS)

  • 安装: 解压目录中,直接双击 ServiceInstall-LiveCMS.exe

  • 卸载: 以 ServiceUninstall-LiveCMS.exe 卸载 CMS 服务

4.1.2.2 流媒体服务(LiveSMS)

  • 安装: 解压目录中,直接双击 ServiceInstall-LiveSMS.exe

  • 卸载: 以 ServiceUninstall-LiveSMS.exe 卸载 SMS 服务

登录管理:http://IP:10000      admin/admin

海康摄像头配置实例

以下好资料可以参考:【Linux】zabbix4.0服务器搭建,agent搭建,及邮件使用方法_zclinux的博客-CSDN博客

         zabbix排错大全:zabbix报错排错大全 - 单爆手 - 博客园

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值