十六周二次课(4月12日)

19.1 Linux监控平台介绍

19.2 zabbix监控介绍

19.3/19.4/19.6 安装zabbix

19.5 忘记Admin密码如何做

19.1 Linux监控平台介绍

cacti、nagios、zabbix、smokeping、open-falcon等等

cacti、smokeping偏向于基础监控,成图非常漂亮

cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图

open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究

后续以介绍zabbix为主

19.2 zabbix监控介绍

C/S架构,基于C++开发,监控中心支持web界面配置和管理

单server节点可以支持上万台客户端

最新版本3.4,官方文档https://www.zabbix.com/manuals

5个组件

1.zabbix-server

zabbix·server是整个监控体系中最核心的组件, 它负责接收客户端发送的报告信息 , 所有配置、统计数据及操作数据都由它组织。

2.数据存储

所有的收集信息存储在这里。

3,Web界面

web界面即GUI, 这是zabbix监控简单易用的原因之一, 因为我们可以在web界面中配置、 管理各个客户端。运行web界面需要有PHP环境支持

4,zabbix-proxy

Zabbix-proxy为可选组件, 用于监控节点非常多的分布式环境中 , 它可以代理zabbix-server的功能,减轻zabbix-server的压力

5,zabbix-agent

zabbix·agent为部署在各客户端上的组件, 用于采集各监控项目的数据 , 并把采集的数据传输给 zabbix-proxy或者zabbix-server。

zabbix监控流程图

19.3/19.4/19.6 安装zabbix

官网下载地址 www.zabbix.com/download

wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm //安装yum源仓

或rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

查看zabbix.repo:cat /etc/yum.repos.d/zabbix.repo

服务端安装:yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

会连带安装httpd和php,如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql

客户端安装:yum install -y zabbix-agent

查看mysql是否启动:ps aux |grep mysql

Mysql已经启动,如果没有启动用命令启动service mysqld start

vim /etc/my.cnf   //需要增加配置,设置默认字符集

character_set_server = utf8

重启mysqld服务:service mysqld restart

进入mysql命令行,创建zabbix库:create database zabbix character set utf8;

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

退出,导入数据

cd /usr/share/doc/zabbix-server-mysql-3.4.8

gzip -d create.sql.gz

mysql -uroot zabbix < create.sql

启动zabbix服务:systemctl start zabbix-server

启动httpd服务前检查是否启动了nginx服务,因为都监听80端口的,所以如果启动了就关闭nginx服务:systemctl stop nginx

启动httpd服务:systemctl start httpd

查看服务httpd:ps aux |grep httpd

查看端口:是否有80端口

查看zabbix服务:ps aux |grep zabbix

systemctl start httpd; systemctl enable httpd

查看端口,发现zabbix端口没有起来,查看日志文件:less /var/log/zabbix/zabbix_server.log

1932:20180412:141449.658 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

说明无法连接mysql,要更改下配置文件

vim /etc/zabbix/zabbix_server.conf //修改或增加

DBHost=127.0.0.1 //在DBName=zabbix上面增加,因为mysql装在本机上

DBName=zabbix //数据库名字

DBUser=zabbix //数据库用户名

DBPassword=aming-zabbix //在DBuser下面增加,授权的密码

DBHost ,DBName,DBUser和DBPassword后面定义的都是前面创建数据库用户时定义好的,这里写入的要和前面定义好的要匹配

更改好后配置文件后重启服务:systemctl restart zabbix-server

查看服务:ps aux |grep zabbix

查看监听端口:netstat –lntp

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

点Next step

需要设置时区

编辑php的配置文件:vi /etc/php.ini

设置date.timezone = Asia/shanghai

重启httpd服务:systemctl restart httpd

刷新网页,就正常了

点Next step

点Next step

点Next step

点Next step

点Finish

用户名Admin 密码zabbix

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

19.5 忘记Admin密码如何做

进入mysql命令行,选择zabbix库

mysql -uroot -p zabbix

use zabbix;

查看库里说有的表:show tables;

查看users表:desc users; //密码在users表里

update users set passwd=md5('111111') where alias='Admin';

这样就更改了Admin用户的密码

select * from users;