diaoyudao 发表于 2019-1-18 13:41:54

Linux监控平台(zabbix监控介绍,安装zabbix,解决忘记admin密码)

linux监控平台介绍
常见开源监控软件:cacti,nagios,zabbix,smokeping,open-falcon等等
cacti,smokeping偏向于基础监控,成图非常漂亮
cacti,nagios,zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti需要MySQL作为数据储存,
agios不用存储历史数据,他注重服务或监控项的状态
zabbix会获取服务或者监控项目的数据,会把数据记录到数据库中,从而可以成图
open-falcon是小米公司开发的,开源后收到诸多大公司和运维工程师的追捧,适合大企业,滴滴,360,新郎微博,京东等大公司,这款监控软件,值得研究
一、zabbix监控介绍
C/S架构,基于C++开发,监控中心需要PHP环境,支持web界面配置和管理
一台server节点可以支持上万台客户端,瓶颈在于采集数据的量的多少
zabbix更新速度还是较快的,说明他用户量大


zabbix包括了5个组件
zabbix-server监控中心:接受客户端上报信息,负责配置,统计,操作数据
数据存储:存放数据,比如MySQL
web界面:也叫web UI ,在web界面下操作配置是zabbix简单易用的主要原因
zabbix-proxy :可选组件,它可以代替zabbix-server的功能,减轻server的压力
zabbix-agent:客户端软件,负责采集各个监控服务或项目的数据,并上报


zabbix监控流程图



二、安装zabbix,
准备两台主机:
zabbix服务端:192.168.100.101
zabbix客户端:192.168.100.100
我们epl的yum仓库里存放的zabbix的版本较低,所以我们先搭建一个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
警告:zabbix-release-3.2-1.el7.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
准备中...                        #################################
正在升级/安装...
   1:zabbix-release-3.2-1.el7         #################################
# ll /etc/yum.repos.d/zabbix.repo
-rw-r--r-- 1 root root 410 9月14 2016 /etc/yum.repos.d/zabbix.repo


二、yum安装zabbix
服务端:
# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
zabbix-agent:zabbix客户端软件
zabbix-get:服务端的一个应用工具,通过命令行的形式,获得客户端的某些监控项目数据
zabbix-server-mysql:一些和mysql相关的文件
zabbix-web:web界面
zabbix-web-mysql:web还要和mysql打交道,一些MySQL和web的文件
server:
# yum install -y zabbix-agent
客户端只需要安装zabbix-agent就可以了
两台机子如果MySQL没有安装,参照之前lamp章节的安装
  删除笔记修改笔记
三、两台机子都要启动MySQL.修改MySQL的配置文件并重新启动MySQL。
# vim /etc/my.cnf
character_set_server = utf8       (设置字符级,不设置的话,web界面设置中文可能会出现乱码)
# systemctl restart mysql


四、在服务端的MySQL上创建zabbix的库和用户,用户是需要php代码连接mysql。
# mysql -uroot -paminglinux
mysql> create database zabbix character set utf8;
mysql>grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'aming-zabbix';


五、导入一些原始的数据,没有这些数据,zabbix没办法工作。

# cd /usr/share/doc/zabbix-server-mysql-***
# ls
AUTHORSChangeLogCOPYINGcreate.sql.gzNEWSREADME
# gzip -d create.sql.gz      (解压gz文件)
# ls
AUTHORSChangeLogCOPYINGcreate.sqlNEWSREADME
# mysql -uroot -paminglinux zabbix < create.sql


六、启动zabbix和httpd服务,再启动httpd前,先看一下有没有启动nginx服务

# ps aux |grep nginx
root      35900.00.0 112680   976 pts/0    R+   18:04   0:00 grep --color=auto nginx
# systemctl start zabbix-server
# systemctl start httpd
# systemctl enable httpd
# systemctl enable zabbix-server
七、我们启动了zabbix,用ps发现进程在,但是用natstat查看,没有zabbix的端口,是因为没有连接MySQL,需要配置zabbix的配置文件
# ll /var/log/zabbix/zabbix_server.log      (这是zabbix的日志文件)
# DBHost=localhost
DBHost=127.0.0.1               (搜索DBHost,指定数据库所在机器的IP,不是创建用户时的来源ip)
默认DBname=zabbix               (数据库名字)
DBuser=zabbix               (登录数据库的用户名)
DBPassword=zabbix-aming          (登录数据库的密码)
# systemctl restart zabbix-server
# netstat -lntp |grep zabbix          (默认监听10051)
tcp      0      0 0.0.0.0:10051         0.0.0.0:*          LISTEN      3713/zabbix_server
tcp6       0      0 :::10051                :::*            LISTEN      3713/zabbix_server


八、配置web界面,直接访问服务端主机名加zabbix。例如(192.168.52.101/zabbix)

(一)点next step

(二)我们发现只有这一行是错误的


PHP option &quot;date.timezone&quot;unknown
Fail


(三)改正时间错误,修改phh配置文件,重启apache,刷新界面
# vim /etc/php.ini
date.timezone = Asia/Shanghai
# systemctl restart httpd


(四)继续web界面的下一步(也就是MySQL的界面了)
port端口号:3360
密码写在数据库中创建用户的密码。
如果现实sock文件不存在,则把用户改成127.0.0.1







  删除笔记修改笔记
(五)定义zabbix server的界面
自定义Name

(六)web界面完成

八、登录zabbix
(一)默认用户为admin

默认登陆密码为zabbix

(二)更改密码
administration下有个user,找到admin用户,点进去

有个change passwd,点进去修改为自己想要的密码,顺便更改语言,然后update

刷新界面,就是中文了

编辑客户端zabbix的配置文件

# vim /etc/zabbix/zabbix_agentd.conf         (主动被动一起开启会比较好)
Server=192.168.52.101                   (被动模式):等待服务端来取数据
ServerActive=192.168.52.101               (主动模式):主动上报数据
Hostname=congji                     (不能随便写,要写能够识别的主机名)
启动服务查看监控的端口
# systemctl start zabbix-agent
# netstat -lntp |grep zabbix
tcp      0      0 0.0.0.0:10050           0.0.0.0:*             LISTEN      3304/zabbix_agentd
tcp6       0      0 :::10050            :::*               LISTEN      3304/zabbix_agentd
  三、解决忘记admin密码
  
忘记admin密码如何做
在MySQL数据库中使用命令行修改:
# mysql -uroot -p
mysql> use zabbix;             (进入到zabbix数据库中)
可以show tabls;                看一下里面的表,都是和zabbix有关的,我们要用到users表更改密码
mysql> desc users;            (我们可以看一下uses表里的,我们其实就是要更改passwd)
+----------------+---------------------+------+-----+---------+-------+
| Field          | Type                | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+-------+
| userid         | bigint(20) unsigned | NO   | PRI | NULL    |       |
| alias          | varchar(100)      | NO   | UNI |         |       |
| name         | varchar(100)      | NO   |   |         |       |
| surname      | varchar(100)      | NO   |   |         |       |
| passwd         | char(32)            | NO   |   |         |       |
| url            | varchar(255)      | NO   |   |         |       |
| autologin      | int(11)             | NO   |   | 0       |       |
| autologout   | int(11)             | NO   |   | 900   |       |
| lang         | varchar(5)          | NO   |   | en_GB   |       |
| refresh      | int(11)             | NO   |   | 30      |       |
| type         | int(11)             | NO   |   | 1       |       |
| theme          | varchar(128)      | NO   |   | default |       |
| attempt_failed | int(11)             | NO   |   | 0       |       |
| attempt_ip   | varchar(39)         | NO   |   |         |       |
| attempt_clock| int(11)             | NO   |   | 0       |       |
| rows_per_page| int(11)             | NO   |   | 50      |       |
+----------------+---------------------+------+-----+---------+-------+
16 rows in set (0.01 sec)
mysql> update users set passwd=md5('litongyao1') where alias='Admin';   (用md5的方式加密)


检测用litongyao1登录
  





页: [1]
查看完整版本: Linux监控平台(zabbix监控介绍,安装zabbix,解决忘记admin密码)