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. CentOS编译安装Nginx1.5.2+PHP5.5.1+ MySQL 5.6.10

    CentOS编译安装Nginx1.5.2+PHP5.5.1+ MySQL 5.6.10 时间:2013-11-15 23:39 来源:blog.s135.com  作者:张宴的博客  举报  点击:1 ...

  2. CentOS7下安装Elasticsearch-7.3.2和Elasticsearch-head

    下载Elasticsearch-7.3.2-linux-x86_64.tar.gzElasticsearch下载地址:https://www.elastic.co/cn/downloads/elast ...

  3. Java面试题:请谈谈对ThreadLocal的理解?

    ThreadLocal是一种特殊的变量存储机制,它提供了一种方式,可以在每个线程中保存数据,而不会受到其他线程的影响.这种机制在多线程编程中非常有用,因为它允许每个线程拥有自己的数据副本,从而避免了数 ...

  4. 痞子衡嵌入式:在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间. 去年痞子衡写过一篇骚操作文章 <借助i.MXRT10 ...

  5. 力扣495(java)-提莫攻击(简单)

    题目: 在<英雄联盟>的世界中,有一个叫 "提莫" 的英雄,他的攻击可以让敌方英雄艾希(编者注:寒冰射手)进入中毒状态.现在,给出提莫对艾希的攻击时间序列和提莫攻击的中 ...

  6. 力扣138(java)- 复制带随机指针的链表(中等)

    题目: 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点. 构造这个链表的 深拷贝. 深拷贝应该正好由 n 个 全新 节点组成,其 ...

  7. [Gse] 高效的Golang中文分析库推荐

    优点:用法简单,支持各种语言,基本满足需求. 缺点:默认分词字典文件有 8M 需测试使用速度. 我们可以直接封装一个简单的辅助方法来实现分词功能: // @author cnblogs.com/far ...

  8. dotnet 读 WPF 源代码笔记 GlyphRun 的 DeviceFontName 的功能是什么

    在 WPF 里面的 GlyphRun 里,有一个令人迷惑的 DeviceFontName 属性,似乎给这个属性传入什么值,结果都不会有变更.通过阅读源代码,可以了解到,这是一个没什么用途的属性.本文将 ...

  9. 2018-8-10-WPF-省市县3级联动

    title author date CreateTime categories WPF 省市县3级联动 lindexi 2018-08-10 19:16:53 +0800 2018-2-13 17:2 ...

  10. 《HelloGitHub》第 97 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...