十六周二次课(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;