1.linux监控平台介绍
cacti、nagios、zabbix、smokeping、open-falcon等等
cacti、smokeping偏向于基础监控,成图非常漂亮
cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,nagios不用存储历史数据,注重服务或者监控项的状态,zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图
open-falcon为小米公司开发,开源后受到诸多大公司和运维工程师的追捧,适合大企业,滴滴、360、新浪微博、京东等大公司在使用这款监控软件,值得研究
后续以介绍zabbix为主
2.zabbix监控介绍
C/S架构,基于C++开发,监控中心支持web界面配置和管理
单server节点可以支持上万台客户端
最新版本3.4,官方文档https://www.zabbix.com/manuals
5个组件
zabbix-server
监控中心,接收客户端上报信息,负责配置、统计、操作数据
数据存储 存放数据,比如mysql
web界面
也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因
zabbix-proxy
可选组件,它可以代替zabbix-server的功能,减轻server的压力
zabbix-agent
客户端软件,负责采集各个监控服务或项目的数据,并上报
zabbix监控流程图
3.安装zabbix
官网下载地址 www.zabbix.com/download
[root@linux01 ~]# wget https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@linux01 ~]# rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm 只是按装zabbix的yum源
服务端:
[root@linux01 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql
客户端:
[root@linux02 ~]# yum install -y zabbix-agent
会连带安装httpd和php
如果mysql之前没有安装的话,需要根据lamp那一章的mysql安装方法安装mysql;需要的包
[root@linux01 ~]# yum install -y perl-Module-Install libaio-devel
yum install -y numactl-devel (centos6需要安装)
[root@linux01 ~]# vim /etc/my.cnf //需要增加配置
character_set_server = utf8
重启mysqld服务后,进入mysql命令行,创建zabbix库
[root@linux01 ~]# /etc/init.d/mysqld restart
进入mysql数据库:
[root@linux01 ~]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.39 MySQL Community Server (GPL)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix character set utf8;
再创建用户
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456';
导入原始数据
[root@linux01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.7
[root@linux01 zabbix-server-mysql-3.2.7]# gzip -d create.sql.gz
[root@linux01 zabbix-server-mysql-3.2.7]# mysql -uroot -pxxx zabbix < create.sql
[root@linux01 zabbix-server-mysql-3.2.7]# systemctl start httpd; systemctl enable httpd
[root@linux01 zabbix-server-mysql-3.2.7]# vim /etc/zabbix/zabbix_server.conf //修改或增加
DBHost=127.0.0.1
//在DBName=zabbix上面增加 (如果把mysql服务放到另外一台服务器上,这里就是写对应的ip地址了)
DBPassword=123456
//在DBuser下面增加
[root@linux01 zabbix-server-mysql-3.2.7]# systemctl start zabbix-server
[root@linux01 zabbix-server-mysql-3.2.7]# systemctl enable zabbix-server
查看监听端口
[root@linux01 zabbix-server-mysql-3.2.7]# netstat -lntp |grep zabbix //查看监听端口
浏览器访问http://ip/zabbix/ web界面下面配置zabbix
[root@linux01 ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai
[root@linux01 ~]# systemctl restart httpd.service
浏览器登录zabbix
用户名Admin 密码zabbix
进入后台第一件事情就是修改密码
4.忘记admin密码如何做
进入mysql命令行,选择zabbix库
[root@linux01 ~]# mysql -uroot -p zabbix
mysql> update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
这样就更改了Admin用户的密码