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报错排错大全 - 单爆手 - 博客园