监控,zabbix

19.1-19.16 监控平台介绍,zabbix安装,忘记密码怎么办,添加主机,处理乱码,设置报警

常用的监控软件有zabbix,cacti,nagios,smokeping,open-falcon。其中open-falcon是小米开发的开源软件,功能强大,主要是大企业在使用。

zabbix,catti,nagios都能很好的监控基础指标。他们都需要LAMP的支持,其中nagios不记录历史数据,所以不需要mysql的支持。

zabbix功能强大,能支持历史数据查询以及成图,还有强大的二次开发接口,所以zabbix是主要流行的监控软件。

zabbix不仅适合中小企业,也适合大型企业。

组件

  • zabbix-server 监控的核心模块
  • 数据存储
  • web界面,gui需要php的支持
  • zabbix-proxy 为可选组件,在监控 节点非常多的分布式环境中,可以代理zabbix-server的功能,减轻zabbix-server的负担
  • zabbix-agent 在客户端上只需要安装这个模块,用于采集数据并和zabbix-server或者zabbix-proxy交换数据

这里写图片描述

安装

 官网下载地址 www.zabbix.com/download  //找到名字带release的包复制下载地址
 wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
 rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm  //安装扩展源
 yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql  //安装相应的模块
 会连带安装httpd和php
 如果mysql之前没有安装的话,需要单独安装

//zabbix-get 服务端上的命令行工具
//zabbix-server-mysql, myslq版的zabbix-server
//zabbix-web-mysql,web界面mysql相关的东西

配置

 vim /etc/my.cnf //需要增加配置,下面这一行支持中文字符
 character_set_server = utf8
 重启mysqld服务后,进入mysql命令行,创建zabbix库
 create database zabbix character set utf8;  //为db指定字符集
 grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123123';   //创建用户
 cd /usr/share/doc/zabbix-server-mysql-3.2.7  //导入数据
 gzip -d create.sql.gz  //解压
 mysql -uroot -p123123 zabbix < create.sql   //初始化数据库

 systemctl start httpd; systemctl enable httpd  //设置开机启动
 vim /etc/zabbix/zabbix_server.conf //修改或增加
 DBHost=127.0.0.1 //表示本机
 DBPassword=123123 //在DBuser下面增加
 systemctl start zabbix-server
 systemctl enable zabbix-server  //开机启动
 netstat -lntp |grep zabbix //查看监听端口
 浏览器访问http://hostip/zabbix/  web界面下面配置zabbix
 用户名Admin 密码zabbix
 进入后台第一件事情就是修改密码

配置过程中发现需要配置时区,这时我们需要在php的配置文件中配置时区为Asia/Shanghai  
配置文件为 /etc/php.ini 或者/usr/local/php/etc/php.ini

忘记admin密码

 //思路和更改mysql密码一样。只是加密算法变成了md5。进入mysql命令行,选择zabbix库
 mysql -uroot -p zabbix
 update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;  
 这样就更改了Admin用户的密码

客户端配置

在客户端上也需要下载zabbix的yum源
 wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
 rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
 yum install -y zabbix-agent  //客户端只安装agent就可以了
 vim  /etc/zabbix/zabbix_agentd.conf //修改如下配置
 Server=127.0.0.1修改为Server=192.168.27.128 //定义服务端的ip(被动模式)
 ServerActive=127.0.0.1修改为ServerActive=192.168.27.128 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=cent02 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
 systemctl start zabbix-agent
 systemctl enable zabbix-agent

添加主机

先添加主机组aming-test
再添加主机,主机名称和可见名称都写cent02
群组选择aming_test
IP地址填写客户端的ip 192.168.27.129
几个概念:应用集、监控项、触发器、图形、自动发现、web监测

可以自定义一个常用模板,方便给新增主机添加监控项目
自定义aming模板
把其他自带模板里面的某些监控项目(比如cpu、内存等)复制到aming模板里
定义触发器
添加图形
自动发现,找到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则
可以直接导出、导入模板,然后再删除不需要的对象

处理图形中的乱码
设置为中文后,zabbix图形的中文文字会显示小方框
这是因为在zabbix的字体库中没有中文字体,需要从windows上借用一个过来
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH
它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont
windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf

自定义监控项

 需求:监控某台web的80端口连接数,并出图
 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
 对于第一步,需要到客户端定义脚本
 vim /usr/local/sbin/estab.sh //内容如下
#!/bin/bash
##获取80端口并发连接数
netstat -ant |grep ':80 ' |grep -c ESTABLISHED


 chmod 755 /usr/local/sbin/estab.sh  //更改文件权限,不然zabbix用户没法执行
 客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增加
UnsafeUserParameters=1  //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
 重启zabbix-agent服务 systemctl restart zabbix-agent

验证
首先到服务端验证,执行命令
zabbix_get -s 192.168.27.129 -p 10050 -k ‘my.estab.count‘
然后在zabbix监控中心(浏览器)配置增加监控项目
键值写my.estab.count
添加该项目后,到“监测中”> “最新数据”查看刚添加的项目是否有数据出现
有了数据就可以添加图形了
“配置”>“主机” >“图形”>“创建图形”

配置报警

使用163或者QQ邮箱发告警邮件
首先登录你的163邮箱,设置开启POP3、IMAP、SMTP服务
开启并记录授权码
然后到监控中心设置邮件告警
“管理”,“报警媒介类型”,“创建媒体类型”
{ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE}
这里写图片描述

创建报警脚本mail.py
vim /usr/lib/zabbix/alertscripts/mail.py//内容参考

#!/usr/bin/env python
#-*- coding: UTF-8 -*-   //字符集一定要在文本的绝对行数的第二行,否则报错
import os,sys
reload(sys)
sys.setdefaultencoding('utf8')
import getopt
import smtplib
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from  subprocess import *
def sendqqmail(username,password,mailfrom,mailto,subject,content):
    gserver = 'smtp.qq.com'   //按实际情况配置
    gport = 25
    try:
        msg = MIMEText(unicode(content).encode('utf-8'))
        msg['from'] = mailfrom
        msg['to'] = mailto
        msg['Reply-To'] = mailfrom
        msg['Subject'] = subject
        smtp = smtplib.SMTP(gserver, gport)
        smtp.set_debuglevel(0)
        smtp.ehlo()
        smtp.login(username,password)
        smtp.sendmail(mailfrom, mailto, msg.as_string())
        smtp.close()
    except Exception,err:
        print "Send mail failed. Error: %s" % err
def main():
    to=sys.argv[1]
    subject=sys.argv[2]
    content=sys.argv[3]
##定义QQ邮箱的账号和密码,你需要修改成你自己的账号和密码(请不要把真实的用户名和密码放到网上公开,否则你会死的很惨)
    sendqqmail('1234567@qq.com','aaaaaaaaaa','1234567@qq.com',to,subject,content)  //前三项按实际情况配置
if __name__ == "__main__":
    main()


#####脚本使用说明######
#1. 首先定义好脚本中的邮箱账号和密码
#2. 脚本执行命令为:python mail.py 目标邮箱 "邮件主题" "邮件内容"
 chmod 755 /usr/lib/zabbix/alertscripts/mail.py   //更改权限,否则zabbix无法执行

 创建一个接受告警邮件的用户,“管理”,“用户”,“创建用户”,“报警媒介”,类型选择“baojing”,注意用户的权限,如果没有需要到用户组去设置权限,添加读写权限
 设置动作,“配置”,“动作”,“创建动作”,名称写“sendmail”(自定义),“操作”页面,内容如下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
 “新的触发条件”,A维护状态 非在 维护,B触发器示警度>=未分类


“操作”,选择发送的用户为刚创建的用户,仅送到选择“baojing”
 切换到“恢复操作”,把信息改成如下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE}  {EVENT.TIME} 
LEVEL:{TRIGGER.SEVERITY} 
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
 点击“新的”,“操作”,选择发送的用户为刚创建的用户,仅送到选择“baojing”


 测试告警

如果报警不成功,可以换邮箱,或者重新申请邮箱试试。

//可以用下面这条命令测试脚本写的是否正确
[root@cent01 alertscripts]# python mail.py 123123@126.com '1111wewewewe' 'wesdsdsd2222'
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值