zabbix介绍

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Windows主流平台

zabbix中文手册

https://www.zabbix.com/documentation/3.4/zh/manual

zabbix 基础架构

zabbix-agent - zabbix server - mysql  <<---zabbix web获取数据库数据展示

zabbix 安装 [zabbix3.4.10]

zabbix安装包可以在官方,镜像站获取.

zabbix安装包安装zabbix

#安装zabbix相关依赖
yum -y install httpd mariadb-server php php-mysql #安装zabbix源:
rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
此时/etc/yum.repos.d/ 会多出一个zabbix源.
[root@localhost zabbix]# ll /etc/yum.repos.d/
-rw-r--r-- 1 root root 410 Aug 28 2017 zabbix.repo #这是已经下好的源 #下载zabbix相关包
wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-server-mysql-3.4.10-1.el7.x86_64.rpm
wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-web-3.4.10-1.el7.noarch.rpm
wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.10-1.el7.x86_64.rpm
wget http://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm #安装软件iksemel (不安装可能会报错)
#http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/iksemel-1.4-6.sdl7.x86_64.rpm
yum localinstall -y iksemel-1.4-6.el7.centos.x86_64.rpm #下载完成后直接批量安装,并且会自动解决依赖关系:
yum -y localinstall zabbix-* #推荐安装软件:
yum install -y sysstat htop vmstat nethogs iftop

zabbix数据库创建

systemctl start mariadb.service
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;
exit 导入数据[默认就在zabbix中]:
cd /usr/share/doc/zabbix-server-mysql-3.4.10
zcat create.sql.gz | mysql -uroot zabbix 进入数据库检查:
mysql
use zabbix;
show tables; 看到里面有表证明成功

zabbix server配置文件修改:

[root@localhost zabbix-server-mysql-3.4.10]# egrep -v "#|^$" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

启动zabbix

检查相关服务:
systemctl start httpd zabbix-server zabbix-agent mariadb systemctl is-active httpd zabbix-server zabbix-agent mariadb #出现 active 证明成功,没出现就是失败了
active
active
active
active

web页面初始化

浏览器访问: http://10.0.0.70/zabbix/

默认的用户名: Admin

密码为: zabbix

报错处理:

解决方法:

sed -i -e '/# php_value/s/#//;s/Europe\/Riga/Asia\/Shanghai/' /etc/httpd/conf.d/zabbix.conf
systemctl restart httpd zabbix-server.service
重启后时区问题就会被解决

这里是zabbix数据库的账号密码:

/etc/zabbix/web/zabbix.conf.php

安装完成:

默认登录账号密码 Admin zabbix

zabbix改为中文页面显示

效果:

解决字体乱码

yum install -y wqy-microhei-fonts
\cp -a /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
systemctl restart zabbix-server.service

ZAbbix server is not running:

监控主机

监控自己:

编辑配置文件: egrep -v "#|^$" /etc/zabbix/zabbix_agentd.conf 改为如下:

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1 ## 允许谁向我取值
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf

监控一台linux-server

在被监控的linux系统中安装zabbix安装包:
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.10-1.el7.x86_64.rpm 配置服务器地址:
vim /etc/zabbix/zabbix_agentd.conf
Server=10.0.0.80 #保存退出 重启zabbix-agent
systemctl restart zabbix-agent.service #注意,这里的 10.0.0.70 这可以写多个server,这是允许谁可以取数据,可以写多个IP,用 , 逗号 隔开

zabbix服务器添加agent:

优化告警信息:

告警信息都是英文,对中国人不友好,所以..改成国人能看懂的吧

使用python脚本告警

脚本内容:

1. 进入zabbix目录 /usr/lib/zabbix/alertscripts  创建 mail.py

2. 将下面代码写入到mail.py中,记得修改邮箱和授权码
#-------------------------------------------------------------
#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_user = 'xxx@163.com' ##你的邮箱
mail_pass = 'xxxxx' ##你的邮箱授权码 def send_mail(to_list,subject,content):
me = "zabbix 监控告警平台"+"<"+mail_user+">"
msg = MIMEText(content, 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = me
msg['to'] = to_list
try:
s = smtplib.SMTP("smtp.163.com", 25)
s.login(mail_user,mail_pass)
s.sendmail(me,to_list,msg.as_string())
s.close()
return True
except Exception,e:
print str(e)
return False
if __name__ == "__main__":
send_mail(sys.argv[1], sys.argv[2], sys.argv[3]) #-------------------------------------------------------------
3. 保存退出,进入zabbix中配置以下脚本参数:
管理 - 报警媒介类型 : 名称: email
类型: 脚本
脚本名称: mail.py
脚本参数: {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}
勾选: 已启用

zabbix 操作和恢复操作汉化:

动作-操作 :
默认标题: 告警信息: {TRIGGER.NAME} 消息内容:
告警状态:【{TRIGGER.STATUS}】
告警主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
告警时间:【{EVENT.DATE} {EVENT.TIME}】
告警等级:【{TRIGGER.SEVERITY}】
告警名称:【{TRIGGER.NAME}】
当前状态:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代码:【{EVENT.ID}】 动作-恢复操作 :
默认标题: 故障恢复: {TRIGGER.NAME} 消息内容
告警状态:【{TRIGGER.STATUS}】
告警主机:【{HOST.NAME}】
主机地址:【{HOST.IP}】
恢复时间:【{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}】
告警等级:【{TRIGGER.SEVERITY}】
告警名称:【{TRIGGER.NAME}】
当前状态:【{ITEM.NAME}:{ITEM.KEY}={ITEM.VALUE}】
事件代码:【{EVENT.ID}】

shell 脚本告警配置:

shell脚本发信:
cd /usr/lib/zabbix/alertscripts
touch mail.sh
写入如下内容:
#----------------------------------
#!/bin/bash
export LANG=zh_CN.UTF-8
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE ###解决了发送的邮件内容变成附件的问题。
/bin/mail -s "$2" $1 < $FILE
#------------------------------------ #脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

测试告警:

问题表现形式:
{10.0.0.63:system.users.num.last(,10)}>3 恢复表达式:
{10.0.0.63:system.users.num.last(,10)}<3

尝试开启多个 xshell窗口 检查告警是否发送:

最终效果:

mail.rc邮件告警

vim /etc/mail.rc

尾部添加:
set bsdcompat
set sendcharsets=iso-8859-1,utf-8
set from=18816997176@163.com #邮箱
set smtp=smtp://smtp.163.com
set smtp-auth-user=18816997176@163.com #账号
set smtp-auth-password=x83ue244 #授权密码
set smtp-auth=login 测试发信:
echo "this is test $(hostname -I)" | mail -s 'chenleilei.net test' 370460370@qq.com

常用软件安装

yum install -y htop uptime iftop iostat vmstat netstat nethogs

zabbix-get 取值

在没有配置前,可以通过zabbix-get来取值测试,取值成功即代表配置也没啥问题
zabbix-get安装: yum install -y zabbix-get [root@localhost alertscripts]# zabbix_get -s 10.0.0.63 -k 'system.uptime'
19300

zabbix内置监控项

通过zabbix内置监控项可以获取绝大多数想要的数据

 zabbix_agentd -p  拿到数据后,使用:
zabbix_get -s 10.0.0.63 -k "system.uptime" [root@localhost ~]# zabbix_get -s 10.0.0.63 -k "system.uptime"
25906 <----获取到的系统启动时间值.[默认单位:秒] 统计内置监控项:
[root@localhost ~]# zabbix_agentd -p | grep -o '^.*\[[tsdum]|' |wc -l
76

zabbix笔记_001的更多相关文章

  1. Zabbix笔记

    简单检查中的icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]   结 ...

  2. zabbix笔记_002

    监控登录用户 监控图形配置 创建图形: 配置完成后查看图形: 创建触发器配置 创建完成后可以查看 监控磁盘IO I/O查看工具: istat 安装[需要epel源]: yum install -y s ...

  3. zabbix笔记_008 zabbix监控交换机路由器

    zabbix监控交换机路由器 要监控路由器交换机,需要使用到SNMP协议 SNMP是一个简单网络管理协议,他基于C/S模型实现的监控和管理. 服务器安装SNMP: yum -y install net ...

  4. 算法笔记_001:斐波那契数的多种解法(Java)

    本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...

  5. 人生苦短_我用Python_javascript_var_function_简单笔记_001

    <!--Javascript_var_001:--> <html> <head> <meta charset="UTF-8"> &l ...

  6. zabbix 应用监控作业笔记 ansible-playbook

    目录 目录结构 zabbix-web.yaml zabbix-backup.yaml zabbix-nfs.yaml zabbix-mysql.yaml zabbix-server.yaml zabb ...

  7. Zabbix学习笔记(yum源安装)

    Zabbix学习笔记(yum源安装) 链接:https://pan.baidu.com/s/19RXhumkB-ulpI4BGOa5b_A 提取码:115h 复制这段内容后打开百度网盘手机App,操作 ...

  8. zabbix学习笔记:zabbix监控之短信报警

    zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...

  9. [转]Zabbix 3.0 安装笔记

    Zabbix 3.0 只支持CentOS 7.0以上版本,所以先在虚拟机中安装好CentOS 7.0 x64,并设置好IP,允许虚拟机联网. 1.安装MySQL 从最新版本的linux系统开始,默认的 ...

  10. Zabbix 3.0 安装笔记

    Zabbix 3.0 只支持CentOS 7.0以上版本,所以先在虚拟机中安装好CentOS 7.0 x64,并设置好IP,允许虚拟机联网. 1.安装MySQL 从最新版本的linux系统开始,默认的 ...

随机推荐

  1. docker 应用篇————docker原理[三]

    前文 前面就已经介绍了docker的安装,在https://www.cnblogs.com/aoximin/p/12906218.html,这里面,这里作为重新整理. 那么这里就不介绍了,这里直接是进 ...

  2. iOS自动化打包命令xcodebuild大全

    iOS实现自动化打包已经稳定运营几年了,不同的场景用到xcodebuild命令不一样,有的参数可能一直都用不到,列举一些常用的命令,比如编译命令: xcodebuild archive -worksp ...

  3. 使用Skyline 新型UI管理OpenStack技术方案

    使用Skyline 新型UI管理OpenStack [摘要] Skyline 是一个经过 UI 和 UE 优化过的 OpenStack 仪表盘,支持 OpenStack Train 及以上版本.Sky ...

  4. java中jar文件

    1.文档性质的jar文件 可以将有包名的类的字节码文件压缩成一个jar文件,供其他源文件用import语句导入jar文件中的类. 以下结合具体的两个类给出生成的jar文件的步骤eg23中TestTwo ...

  5. 力扣1083(MySQL)-销售分析Ⅲ(简单)

    题目: Table: Product Table: Sales 编写一个SQL查询,报告2019年春季才售出的产品.即仅在2019-01-01至2019-03-31(含)之间出售的商品. 以 任意顺序 ...

  6. All in one:如何搭建端到端可观测体系

    ​简介:一文看懂可观测! 作者:西杰 & 白玙 可观测的前生今世 系统的可观测与故障可分析作为系统运维中重要的衡量标准,随着系统在架构.资源单位.资源获取方式.通信方式演进过程,遇到了巨大挑战 ...

  7. dotnet OpenXML 继承组合颜色的 GrpFill 属性

    在 OpenXML 的颜色画刷填充,有特殊的填充是 GrpFill 属性,对应 OpenXML SDK 定义的 DocumentFormat.OpenXml.Drawing.GroupFill 类型 ...

  8. HttpClient配置SSL绕过https证书以及双向认证

    HttpClient简介 1.HTTP 协议是 Internet 上使用得最多.最重要的协议之一,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java ...

  9. 八、Dataphin

    Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采.建.管.用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠.消费便捷.生产安全经济的 ...

  10. 【OpenVINO™】使用OpenVINO™ C# API 部署 YOLO-World实现实时开放词汇对象检测

    YOLO-World是一个融合了实时目标检测与增强现实(AR)技术的创新平台,旨在将现实世界与数字世界无缝对接.该平台以YOLO(You Only Look Once)算法为核心,实现了对视频中物体的 ...