2018-7-25 笔记 第三十课

19.1 Linux监控平台介绍

2018-7-25 笔记 第三十课

其中cacti,smokeping以基础监控为主,如网络设备

open-falcon:借鉴zabbix的监控思想做的个性化开发

19.2 zabbix监控介绍

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课zabbix五个组件: ①zabbix-server:监控中心,接受客户端上报信息,配置,统计操作数据等

                      ②mysql:数据存储

                     ③web UI: 在web界面操作配置,使得zabbix简单易用

                             ④zabbix-proxy: (可选)减轻server压力,分流

                             ⑤zabbix-agent:客户端软件,采集监控服务项目和数据,并上报server

去zabbix官网www.zabbix.com/download中选择对应平台和数据库类型到下载界面,安装rpm包,其实是一个安装了一个yum源仓库, 这样可以进一步yum安装必需的组件

19.3 19.4 19.6安装zabbix(上)(中)19.5 忘记admin密码如何做

2018-7-25 笔记 第三十课

①rpm包安装

②获得yum源库后yum安装zabbix组件,其中zabbix-agent为客户端上的软件;zabbix-get是服务端上的工具,可以通过命令行的形式获得客户端某些监控或者项目数据;zabbix-server-mysql安装mysql相关的文件,zabbix-web是web UI;zabbix-web-mysql:web需要和mysql打交道

③ vim /etc/my.cnf中添加字符集utf

④重启mysql服务

⑤创建zabbix数据库,进入mysql root用户 create database zabbix character set utf8; 并创建zabbix用户,授权zabbix用户语句 grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'liut-zabbix';(创建用户的目的是为了让web/php  代码连接mysql,同时zabbix-server服务启动的前提是需要能够连接mysql,客户端采集的数据需要传递给服务端,如何才能把  这些数据写入到Mysql中? 其中涉及到mysql 的用户和数据库,即用哪个用户查询/写入哪个库,库中有相关的表,所以前提就是要设定一个用户,改用户需要对该库有读写的权限

⑤导入zabbix原始数据(否则zabbix无法在web界面展现),原始数据路径在/usr/share/doc下;giz -d解压后把.sql文件导入到zabbix库中(mysql -uroot -pliutlinux zabbix < create.sql

⑥同时需要启动httpd服务,如果nginx启动则80端口被占用,需要stop nginx再systemctl start httpd服务,netstat  -lntp |grep zabbix发现该进程虽然在但是没有监听任何端口(说明有问题,需要排错)

查看zabbix日志 /var/log/zabbix/zabbix_server.log

2018-7-25 笔记 第三十课

如果数据库连接失败,需要修改zabbix配置文件,路径为/etc/zabbix/zabbix_server.conf

定义DBHost=127.0.0.1(本实验中也可以写localhost需要和授权语句定义的一致,因为mysql就装在本机上)(注意该IP指的是来源IP,在生产环境中,为了提升zabbix监控中心的效率,可以把Mysql服务放在另一台服务器上,此时IP地址应该写单独的IP)

DBName=zabbix

DBUser=zabbix

DBPassword=liut-zabbix(最开始授权sql语句中定义的密码,如果是远程机器如192.168.242.129,授权时需要填写web UI,即php代码所在机器的IP128, 授权用户后面跟的是来源IP,并不一定是本机)

完成后重新启动zabbix-server服务,并查看zabbix是否监听端

正常情况下zabbix启动成功会有多个子进程,端口监听成功,说明zabbix服务完全启动了

配置Web UI界面

①打开浏览器,输入监控中心的IP地址,如下图所

nxstep有一个fail,需要设置时区

编辑php配置文件 /etc/php.ini找到timezone设置成Asia/Shanghai,重启httpd服务

刷新页面,所有参数都显示OK,nextstep,填写mysql相关信息

默认管理员登录是用户名Admin,密码zabbix,需要到后台修改,同时可以选择修改语言成中文,退出后重新登录web界面,发现没有任何监控数据,因为没有配置任何监控主机2018-7-25 笔记 第三十课
2018-7-25 笔记 第三十课2018-7-25 笔记 第三十课2018-7-25 笔记 第三十课

修改后页面2018-7-25 笔记 第三十课

重新登录后首页

2018-7-25 笔记 第三十课

忘记Admin密码重置(和mysql的忘记密码重置异曲同工,只是表达式有点略微不同)

①登录mysql root用户: mysql -uroot -pliutlinux;

②选择zabbix库:use zabbix;

③修改密码:update users set passwd=md5('passwd') where alias='Admin';

一些查看zabbix库中的命令,如show tables查看zabbix表; select * from users;查看用户;desc users查看用户都有哪些属性,其中包括密码

修改密码测试成功

客户端上同样需要安装zabbix但是yum只需要装zabbix-agent,修改配置文件中的三个参数

①Server IP (被动模式,定义服务端IP) ②ServerActive IP(主动模式,定义服务端IP,该参数可以让客户端主动上报) ③Hostname(自定义主机名,在web界面需要设置同样的主机名,如果主机名不存在,则在服务器端的日志中会显示类似无法识别主机名的错误日志)

启动zabbix-agent服务,ps aux |grep zabbix如下图进程和netstat -ltnp端口都有,说明服务启动完整

19.7主动模式和被动模式

2018-7-25 笔记 第三十课
(主动模式是客户端主动上报,被动模式是客户端被动接受服务端连接)

服务端有公网ip,客户端只有内网ip,但却能连外网(通过路由器,iptables有个nat表可以实现该需求),这种场景适合主动模式,一般情况下即使有好几十几百台服务器主动被动模式都没有太大问题

19.8 添加监控主机

2018-7-25 笔记 第三十课

打开web UI,点击配置

主机群组: 给机器建组,在组里创建机器

2018-7-25 笔记 第三十课

模板:预设监控项目的集合,如CPU,磁盘等(可以以后添加新主机后套用)

主机:由于没有在监控中心起zabbix-agent服务,故无法采集数据,也就处于停用状态

测试:添加一个主机,需要先添加一个主机群

回到主机栏,创建新的主机,主机名和装上zabbix-agent的客户端相同,并隶属于刚刚创建的liut-test主机群组,IP地址,DNS只有在需要解析时填上,默认端口10050;

主机创建完成

几个重要参数:应用集:监控的具体大项,如CPU,filesystems等

                          

                        监控项:某个集合中项目的子分支,如下图CPU方面

 

                     触发器:某些指标必须设置的告警信息,根据实际情况有不同的严重级别,可在仪表盘首页看到主机监测状态

 

如下图所示

 

                  图形:某些指标在某段时间内信息的集合,以图形类别的方式呈现,见下图右上角

 

                   自动发现规则:一些个性化指标(自动发现规则会自动抓取)如磁盘分区情况,网卡信息,如果手动配置非常繁琐

 

                      web场景:监测某一个网站某个页面的访问情况(如根目录/111.html的访问情况,如果监测到非200的状态码  则告警)

19.9添加自定义模板 

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

添加合适监控项,如Linux OS中寻找

最有用的就是自动发现栏,但是发现不能和其他的选项一样进行选择性复制,此时有2种方法

把其他模板导出一个.xml文件,用编辑器打开后做相应修改,并重新导入到新的自定义模板中(此方法繁琐,且容易出错)

通过UI界面的链接功能直接完全导入,此时由于是纯链接其他模板的选项集无法做删除抄作,需要取消链接才能进行编辑,如果选择取消链接并清理选项则会完全清空规则

删除失败

取消链接并更

留下一些需要监控的选项,其余的删除,再删除不含任何监控项的应用集,此时自动发现选项,图形等依旧保留而不受影响

成功删除多余的监控项

成功删除多余应用集

19.10 处理图形中的乱码

 

 

把刚刚设置好的模板链接到liut-002主机

图形选项

2018-7-25 笔记 第三十课\

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

缺少中文字库,所以出现小方框,需要定义字体,在 /usr/share/zabbix/include/defines.inc.php中搜索ZBX_FONTPATH

其中'font'是相对路径,相对/usr/share/zabbix(系统调用字体的地方); 而'graphfont'是字体文件名

如上图,字体两度软链接到真正的.ttf字体文件中,因为无法识别,说明该字体文件不支持中文,可以在windows上找到支持中文的字体文件并通过xftp拷贝到linux系统

把字体文件放到/root/下

把/root/下的字体文件放到realpath下: /usr/share/zabbix/fonts/,并把原来的文件替换成ttf.bak;为便于区分,对新的字体文件做一个软链接: ln -s   .ttf  graphfont.ttf

刷新zabbix监控web UI界面查看效果;一切正常

如果想让图形在仪表盘的图形中显示,只需要在配置选项的主机图形下创建个性化图形指标即可

自动发现,如上图所示没显示在图形中是因为设置的时间间隔为1h,可以做个性化更改

19.11 自动发现

2018-7-25 笔记 第三十课

在服务器端和客户端都要重启zabbix服务(systemctl restart zabbix-server/ systemctl restart zabbix-agent)如下图

2018-7-25 笔记 第三十课

在客户端安装nload命令或者sar命令,前者需要epel源

这些刻度线也可以进行个性化设置,在模板中可以定义更新

2018-7-25 笔记 第三十课

19.12 添加自定义监控项目

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

19.13 19.14 配置邮件告警(上)(下)

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

19.15 测试告警

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

2018-7-25 笔记 第三十课

          2018-7-25 笔记 第三十课

……

 

19.16 不发邮件的问题处理

2018-7-25 笔记 第三十课

排查脚本是否可以发邮件,排查文件,,用户有没有报警媒介,权限,脚本的权限,动作,,发送消息给。。。要指定用户。。。

扩展
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