2018.10.日,预习笔记,Linux监控平台搭建

笔记目录

  1. Linux监控平台介绍
  2. zabbix监控介绍
  3. 安装zabbix(上)(中)(下)
  4. 忘记Admin密码如何做
  5. 主动模式和被动模式
  6. 添加监控主机
  7. 添加自定义模块
  8. 处理图形中的乱码
  9. 自动发现
  10. 添加自定义监控项目
  11. 配置邮件告警(上)(下)
  12. 测试告警
  13. 不发邮件的问题处理
  14. 扩展
    zabbix监控交换机(思科) http://tryrus.blog.51cto.com/10914693/1789847
    zabbix远程执行命令 http://www.ywnds.com/?p=6610
    zabbix分布式部署 http://sfzhang88.blog.51cto.com/4995876/1364399
    zabbix监控tomcat(版本有点老,大家只需要参考步骤,不能照搬) http://www.fblinux.com/?p=616

https://www.hi-linux.com/posts/25047.html

一.Linux监控平台介绍

6001ecfe2f97ac9a9f0b507dc3a918c70fa.jpg

  • 常见的开源监控软件
  • cacti、nagios、zabbix、smokeping、open-falcon等等  
  • cacti、smokeping偏向于基础监控,成图非常漂亮  
  • cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图  
  • open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究  
  • 后续以介绍zabbix为主

 

二.zabbix监控介绍

d51bad06129ba230b6f0b79292e8006d706.jpg

99924744844e5f170dfd8659987077941f2.jpg

  • C/S架构,基于C++开发,监控中心支持web界面配置和管理  
  • 客户端有一个采集数据的服务,这个数据可以主动的上报服务端,也可以让服务端来采集这个数据
  • 单server节点可以支持上万台客户端  ,并发量还是挺大的,瓶颈在于采集数据的量。可以增加一些代理点,让它们袋体serve去采集数据,将统计好的数据来汇报给server。
  • 最新版本3.4,官方文档https://www.zabbix.com/manuals
  • 架构里有 5个组件  

96350eca54cce6a489d201ee71f7378be07.jpg

  • zabbix-server 监控中心,需要一个PHP的环境,接收客户端上报信息,负责配置、统计、操作数据  
  • 数据存储 存放数据,比如mysql  
  • web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因  
  • zabbix-proxy 可选组件,机器量比较大的时候,它可以代替zabbix-server的功能,减轻server的压力  
  • zabbix-agent 客户端软件,每个客户端都需要安装,负责采集各个监控服务或项目的数据,并上报
  • zabbix-server需要配置一个具体的告警规则,还需要配置一个报警的机制,列如:发邮件,发短信,发微信。

 

三.安装zabbix(上)(中)(下)

69c19b1b529cefa485322c350a0e8fa5fb9.jpg

  • 准备两台机器,一台作为服务端,一台作为客户端。
  • 官网下载地址 www.zabbix.com/download  

74a469335511b47ea9682c2c8bf638e178f.jpg

d7953c6f1ca8c5d5049ad22635aaa079095.jpg

  • 两台机器都下载: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扩展源
  • 服务端安装:yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql  
  • 会连带安装httpd和php  
  • 如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql,也可以yum安装一个mysql
  • ps aux |grep mysql 查看一下mysql会否有启动

559ed0f9058929ebf9a1ee5bef1d9a63723.jpg

  • systemctl start mysql 启动mysql

9b57d2a3b341de4cd8d65dbcce699958c7f.jpg

 

 

be55669b06ab2d07bd0fb667604b4b0f586.jpg

  • vim /etc/my.cnf //需要增加配置

character_set_server = utf8 设定字符集

0a63cc3820c44761c826a95bc59f73685b3.jpg

  • 重启mysqld服务后

1fdc48598d21cbc16b7e2563bf9d3ca15e5.jpg

  • 进入mysql命令行,创建zabbix库  

dee084bb94d1fc5050d1a04caef74a319d8.jpg

  • create database zabbix character set utf8;  

f8f0b6eaffd6b63f726b7496171493ca56f.jpg

  • 再创建用户  
  • grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';  

daf845f3a6381124607c810f2f780c9741c.jpg

  • quit 退出
  • 导入数据  
  • cd /usr/share/doc/zabbix-server-mysql-3.2.7  进入该目录下
  • ls查看一下27d74daf1345c8188d9aa4f374cfd38e66a.jpg
  • gzip -d create.sql.gz  解压包
  • ls查看一下

92bdf4417047337a26134031357b6e0954f.jpg

  • mysql -uroot -pxxx zabbix < create.sql 将该文件内容导入到zabbix库里去

 

bd2264913b0a1d31130d2f851188ed36c32.jpg

  • systemctl start httpd; systemctl enable httpd  
  • vim /etc/zabbix/zabbix_server.conf //修改或增加

DBHost=127.0.0.1 //在DBName=zabbix上面增加

48488bede326bdd32fa0b56bc8404f9f624.jpg

DBPassword=aming-zabbix //在DBuser下面增加  

362062c6341851b8164216dbbdf2d62a00a.jpg

  • systemctl start zabbix-server  
  • systemctl enable zabbix-server  
  • netstat -lntp |grep zabbix //查看监听端口  

006b5b86f6714bfa81808d4ef1cdde4ff44.jpg

  • 浏览器访问http://ip/zabbix/  web界面下面配置zabbix  

0c08eb09be475bfbf84f984980aaad5f8b4.jpg

9d2efac148ed90afd620d23769005b34c9f.jpg

7de7ae3aa9e83767874a90dbbaf69c0267d.jpg

1a722d8f4891392c67c68be50a93946816b.jpg

  • 用户名Admin 密码zabbix  

dbc174c81c4228899997f05addd848c04dd.jpg

  • 进入后台第一件事情就是修改密码

3707d4810b1be048e10a6ca21f46482a7f3.jpg

  • 完成后重新登录

aebd9b72efbdd850c26e35490e2236aa7fe.jpg

 

5c4203c8caef2c970a35e2a794dba56f4fc.jpg

  • 进入mysql命令行,选择zabbix库  
  • mysql -uroot -p zabbix  登入到mysql数据库里
  • use zabbix 使用zabbix库

c269eea84b92413633290abf5af2800b71a.jpg

  • update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;  

f1d0624b479576e2730613d0e7e8c1551d3.jpg

  • 查看一下

3b4a30b06bb412eef9355852562dcbeff47.jpg

 

  • 这样就更改了Admin用户的密码
  • 然后重新登录一下就行了

 

b94e808341ba8e53fb42d04f93d9088a2e1.jpg

  • 在客户端上也需要下载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  安装该包
  • vim  /etc/zabbix/zabbix_agentd.conf //编辑配置文件,修改如下配置  
  • Server=127.0.0.1修改为Server=192.168.133.130 //定义服务端的ip(被动模式)  

e91ab9261f8bf8c45f6b00914a875e57de6.jpg

  • ServerActive=127.0.0.1修改为ServerActive=192.168.133.130 //定义服务端的ip(主动模式)

dc3b35eb363ebd5d91f236c01ea56403e73.jpg

  • Hostname=Zabbix server修改为Hostname=aming-123 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名  

f9796ec87efef08f14d0e968f7cbb596e19.jpg

  • systemctl start zabbix-agent  启动
  • systemctl enable zabbix-agent  加入到启动目录里面去,让它开机启动
  • 查看一下是否运行起来

5905c982ec7266e08a1e69756332894e96a.jpg

  • 查看一下监听端口,监听端口为10050

8556b605173bd17b52b1a4efa3642957d44.jpg

 

四.忘记Admin密码如何做

5c4203c8caef2c970a35e2a794dba56f4fc.jpg

  • 进入mysql命令行,选择zabbix库  
  • mysql -uroot -p zabbix  登入到mysql数据库里
  • use zabbix 使用zabbix库

c269eea84b92413633290abf5af2800b71a.jpg

  • update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;  

f1d0624b479576e2730613d0e7e8c1551d3.jpg

  • 查看一下

3b4a30b06bb412eef9355852562dcbeff47.jpg

 

  • 这样就更改了Admin用户的密码
  • 然后重新登录一下就行了

 

五.主动模式和被动模式

b3bc2372a575cd4138248caa4dbc1af5a22.jpg

  • 主动或者被动是相对客户端来讲的  
  • 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端  
  • 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。  定时上报数据
  • 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力。  
  • 服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式

 

六.添加监控主机

9ae5daa703b8f092d56820fe83c74011d80.jpg

  • 先添加主机组aming-test  

18b2cce8fa036cb2af05e8675637f2c5b2e.jpg

  • 再添加主机,主机名称和可见名称都写aming-02  
  • 群组选择aming_test  

6123e34fdbdb3f4406c06d6dad39649bdca.jpg

  • IP地址填写客户端的ip 192.168.133.132  

6c6e4eace031f46fc23e8ec247fabdcd5a8.jpg

  • 几个概念:应用集、监控项、触发器、图形、自动发现、web监测
  • 应用集(包含了监控项目,方便管理监控)

b4884f4c14145ee65413fc5c82d0214f311.jpg

  • 监控项

71d65f94dcb1943645b66851e89212cfea9.jpg

  • 触发器(针对项目设定告警规则)

72a647fb51dde9d8285b88f5b926151b553.jpg

  • 图形

8bd7f51a0b0d75cb8d166c7897e49e5b545.jpg

  • 自动发现

4f98ed76bb01787c19d963de46969881632.jpg

  • web监测

d7a19f823e7491e0cbf0148f9220a8b1875.jpg

 

七.添加自定义模块

19f47ad8b3e2a786dd0bef648a2e0c836f9.jpg

  • 可以自定义一个常用模板,方便给新增主机添加监控项目  
  • 自定义aming模板  
  • 把其他自带模板里面的某些监控项目(比如cpu、内存等)复制到aming模板里  
  • 然后取消连接,在打开自定义模板,将不需要的删除掉

dea111533dcd87d7c520f1834edcc223de8.jpg

  • 删除的时候,要先删除监控项才能删除应用集
  • 定义触发器  
  • 添加图形  
  • 自动发现,找到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则  
  • 可以直接导出、导入模板,然后再删除不需要的对象
  • 主要作用,可以自定义自己想要监控的项目,定义触发点等,获取自己想要获取到的数据信息,定制出想要的图形统计表

 

八.处理图形中的乱码

e25afd14f06771c0475eaabd8ce5146d1d5.jpg

  • 设置为中文后,zabbix图形的中文文字会显示小方框  

145772807f287b337655a778cab0a75fb35.jpg

  • 这是因为在zabbix的字体库中没有中文字体,需要从windows上借用一个过来
  • vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH 服务端编辑该文件
  • ls 查看一下

3f9857a6596bf689ebd45897da9f09fc1a6.jpg

  • 它定义的路径是“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

2dd3384e5ab9f66005dbbc6b36eb9de25b0.jpg

  • 将他选定的文件放在桌面上
  • 然后将他传到Linux虚拟机目录下
  • 然后移动一下
  • 做个软连接,让他调用该字体库

613915fd1b7336be7b7855da1145669e801.jpg

  • 然后回到浏览器,刷新一下,就可以看到显示出中文了

7ff7ecb37398ee0ad8bf2624d783a367cb2.jpg

 

九.自动发现

  • 配置自动发现

e645209f565fa1e444f9ee983025e739d78.jpg

  • 点击进去

e357b5601b553023f6b4830c3c023d7cfb3.jpg

  • 更改为60秒更新一次

5ce308c4323d15fc374640cba46f5c77d38.jpg

  • 刷新之后,可以发现,他自动发现了新的东西,变成5个了

6ebd7854a48d56246ba09b0a3aa23d096de.jpg​​​​​​​

 

十.添加自定义监控项目

90e826a60ee152b1de764250fbc10353d75.jpg

f6575b3202757808fe5518769a8c90528c0.jpg

  • 需求:监控某台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  
  • 客户端上编辑配置文件 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.133.132 -p 10050 -k 'my.estab.count‘  
  • 然后在zabbix监控中心(浏览器)配置增加监控项目  
  • 键值写my.estab.count  
  • 添加该项目后,到“监测中”-> “最新数据”查看刚添加的项目是否有数据出现  
  • 有了数据就可以添加图形了  
  • “配置”->“主机” ->“图形” ->“创建图形”

 

 

十一.配置邮件告警(上)(下)

2f668be5d664f932581ab79d2501cd3c006.jpg

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

ebcbb42d79c5ed244c6356cb0ba78cf6599.jpg

  • 创建报警脚本mail.py  
  • vim /usr/lib/zabbix/alertscripts/mail.py//内容参考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py  
  • chmod 755 /usr/lib/zabbix/alertscripts/mail.py  
  • 创建一个接受告警邮件的用户,“管理”,“用户”,“创建用户”,“报警媒介”,类型选择“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”  
  • 测试告警

 

 

 

 

 

 

 

 

 

 

十二.测试告警

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

十三.不发邮件的问题处理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/u/3912766/blog/2249626

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值