当前位置:   article > 正文

Zabbix监控介绍&配置zabbix架构

zabbix监控介绍&配置zabbix架构

[toc]
#

Linux监控平台介绍

常见的有 cacti、nagios、zabbix、smokeping、open-falcon等等。

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

cacti、nagios、zabbix服务端监控中心,需要php环境支持,其中zabbix和cacti都需要mysql作为数据存储,这几款监控软件均有web操作界面。

nagios不用存储历史数据,注重服务或者监控项的状态。

zabbix优势:

zabbix会获取服务或者监控项目的数据,会把数据记录到数据库里,从而可以成图,可以增加配置节点,增加具体的监控节点,可以配置报警阈值等,所以为什么如此流行其原因就在此,尤其是我们可以很方面的使用鼠标就可以完成一系列的操作,定义规则等。

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

二、 zabbix 监控介绍:

C/S架构(被监控的server需要安装监控软件,既可以主动连接客户端,也可以被动的让客户端推送自己的状态),基于C++开发,监控中心支持web界面配置和管理。

单server节点可以支持上万台客户端(可支持同时上万台的server监控,并发量高,如果超过一定的量,性能可能会降低,但是我们可以增加Proxy代理点来充当监控服务器来减轻压力)

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

5个组件

  • [ ] zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据。

  • [ ] 数据存储 存放数据,比如mysql。

  • [ ] web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因。

  • [ ] zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力。

  • [ ] zabbix-agent 客户端软件,负责采集各个监控服务或项目的数据,并上报。

zabbix监控流程图

mark

三、Zabbix监控安装与部署

3.1 下载所需的zabbix的yum源

官方下载地址:
https://www.zabbix.com/download

mark

mark

mark

下载yum扩展源并安装
  1. [root@xavi ~]# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
  2. [root@xavi ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
查看
  1. [root@xavi ~]# cat /etc/yum.repos.d/ 按两次tab键
  2. CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo epel-testing.repo
  3. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo epel.repo zabbix.repo
  • 查看安装文件
  1. [root@xavi ~]# cat /etc/yum.repos.d/zabbix.repo
  2. [zabbix]
  3. name=Zabbix Official Repository - $basearch
  4. baseurl=http://repo.zabbix.com/zabbix/3.2/rhel/7/$basearch/
  5. enabled=1
  6. gpgcheck=1
  7. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  8. [zabbix-non-supported]
  9. name=Zabbix Official Repository non-supported - $basearch
  10. baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
  11. enabled=1
  12. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
  13. gpgcheck=1
安装相关安装包,会连带安装httpd和php
[root@xavi ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql 
安装mysql(两种方法,①yum安装 ②编译mysql安装<安装LAMP的时候>):
  1. # yum install -y mysql mysql-server mysql-devel
  2. # systemctl start mysqld
  3. # ps aux | grep mysql //若未启动,可开启
mysql启动报错,查看日志
  1. # systemctl start mysql 报错
  2. # less /data/mysql/xavilinux.err 查看错误日志
  3. # ls -l /data/mysql/ 查看MySQL下的文件权限
  4. # chown -R mysql:mysql /data/mysql/
  5. 复制后再次启动

3.2 编辑mysql配置文件

  1. [root@xavi ~]# vim /etc/my.cnf
  2. character_set_server = utf8
  3. 如果不添加此值,后期zabbix的web界面改成中文后会出现问题。
重启mysqld服务
  1. [root@xavi ~]# /etc/init.d/mysqld start
  2. Starting MySQL... SUCCESS!
进入mysql命令行,创建zabbix库和用户

(这个就类似于之前创建wordpress,discuz站点一样的,其实zabbix也是一个php写的web监控站点)

  1. [root@xavi ~]# mysql -uroot -pxavilinux
  2. mysql> create database zabbix character set utf8;
  3. Query OK, 1 row affected (0.00 sec)
  4. mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by 'xavi-zabbix';
  5. Query OK, 0 rows affected (0.00 sec)
导入zabbix数据库
  1. [root@xavi ~]# cd /usr/share/doc/zabbix-server-mysql-3.2.11/
  2. [root@xavi zabbix-server-mysql-3.2.11]# ls
  3. AUTHORS ChangeLog COPYING create.sql.gz NEWS README
  4. [root@xavi zabbix-server-mysql-3.2.11]# gzip -d create.sql.gz //解压
  5. [root@xavi zabbix-server-mysql-3.2.11]# ls
  6. AUTHORS ChangeLog COPYING create.sql NEWS README
  7. [root@xavi zabbix-server-mysql-3.2.11]# mysql -uroot -pxavilinux zabbix < create.sql
  8. //导入数据库
  9. Warning: Using a password on the command line interface can be insecure.

3.3 启动zabbix-server,和httpd服务

如果之前有配置nginx,或者tomcat(配置了80端口)服务一定要先停掉。不然启动httpd会报错

  1. [root@xavi ~]# systemctl start zabbix-server
  2. [root@xavi ~]# systemctl start httpd
  3. Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
通过端口查找,发现被java(tomcat)占用了80端口
  1. [root@xavi ~]# lsof -i:80
  2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
  3. java 2594 root 49u IPv6 26769 0t0 TCP *:http (LISTEN)

关闭tomcat

  1. [root@xavi ~]# /usr/local/tomcat/bin/shutdown.sh
  2. Using CATALINA_BASE: /usr/local/tomcat
  3. Using CATALINA_HOME: /usr/local/tomcat
  4. Using CATALINA_TMPDIR: /usr/local/tomcat/temp
  5. Using JRE_HOME: /usr/local/jdk1.8
  6. Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
  7. [root@xavi ~]# lsof -i:80
  8. [root@xavi ~]# systemctl start httpd

mark

配置开机启动:
  1. [root@xavi ~]# systemctl enable httpd
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  3. [root@xavi ~]# systemctl enable zabbix-server
  4. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.

3.4 查看zabbix的日志,发现虽启动zabbix但未连接mysql

  1. [root@xavi ~]# ps aux |grep zabbix
  2. zabbix 10131 0.0 0.1 258216 3472 ? S 15:44 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
  3. root 11441 0.0 0.0 112684 976 pts/0 S+ 17:21 0:00 grep --color=auto zabbix
  4. [root@xavi ~]# less /var/log/zabbix/zabbix_server.log

mark

5. 重新编辑配置zabbix:

  1. [root@xavi ~]# vim /etc/zabbix/zabbix_server.conf
  2. //修改或增加
  3. DBHost=127.0.0.1 //在DBName=zabbix上面增加
  4. (在此写的是本地的mysql,但是线上的环境一般都有指定的mysql地址)
  5. DBUser=zabbix
  6. DBPassword=xavi-zabbix //在DBuser下面增加,要和之前mysql配置的用户密码一致
再次重启zabbix
  1. # systemctl restart zabbix-server
  2. [root@xavi ~]# !ps
  3. ps aux |grep zabbix
  4. zabbix 11552 0.0 0.2 258396 4144 ? S 17:30 0:00 /usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
  5. zabbix 11554 0.0 0.1 258396 2492 ? S 17:30 0:00 /usr/sbin/zabbix_server: configuration syncer [waiting 60 sec for processes]
  6. zabbix 11555 0.0 0.1 258396 2696 ? S 17:30 0:00 /usr/sbin/zabbix_server: db watchdog [synced alerts config in 0.012630 sec, idle 60 sec]
  7. zabbix 11556 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: poller #1 [got 0 values in 0.000009 sec, idle 5 sec]
  8. zabbix 11557 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: poller #2 [got 0 values in 0.000007 sec, idle 5 sec]
  9. zabbix 11558 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: poller #3 [got 0 values in 0.000014 sec, idle 5 sec]
  10. zabbix 11559 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: poller #4 [got 0 values in 0.000007 sec, idle 5 sec]
  11. zabbix 11560 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: poller #5 [got 0 values in 0.000010 sec, idle 5 sec]
  12. zabbix 11561 0.0 0.2 365328 5192 ? S 17:30 0:00 /usr/sbin/zabbix_server: unreachable poller #1 [got 0 values in 0.000013 sec, idle 5 sec]
  13. zabbix 11562 0.0 0.1 258396 3596 ? S 17:30 0:00 /usr/sbin/zabbix_server: trapper #1 [processed data in 0.000000 sec, waiting for connection]
  14. zabbix 11563 0.0 0.1 258396 3596 ? S 17:30 0:00 /usr/sbin/zabbix_server: trapper #2 [processed data in 0.000000 sec, waiting for connection]

我们会看到有很多的zabbix子进程。

监听的端口为:10051

mark

3.5 安装配置zabbix web界面

在浏览器输入
http://192.168.72.130/zabbix/
mark

mark

第二页在 Check of pre-requisites如果发现错误就必须设置一下,提示php的timezone没有设置。
  1. vim /etc/php.ini //搜索timezone配置即可
  2. date.timezone = Asia/Shanghai

mark

重启一下,让配置生效:
systemctl restart httpd

mark

mark

mark

mark

3.6 第一次登入界面,初始用户名Admin 密码zabbix

mark

修改原始密码

mark

mark

mark

退出后,重新登入

mark

四、zabbix客户端安装配置

4.1 下载安装

下载指定版本:
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
安装zabbix的yum扩展源:
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
client端仅仅只需要安装服务:

yum install -y zabbix-agent

4.2 配置zabbix

  1. [root@xavi-002 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. //增加如下配置:
  3. Server=127.0.0.1 修改为 Server=192.168.72.130 //定义监控服务端的ip(被动模式)
  4. ServerActive=127.0.0.1 修改为 ServerActive=192.168.72.130 //定义监控服务端的ip(主动模式:客户端主动上报自己的状态给server端)
  5. Hostname=Zabbix server修改为Hostname=xavi-002 //这是自定义的主机名,一个是让自己容易分别监控的是哪台主机,第二个是服务器可以识别

mark

4.3 启动服务并查看zabbix进程以及端口

  1. [root@xavi-002 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. [root@xavi-002 ~]# systemctl start zabbix-agent
  3. [root@xavi-002 ~]# ps aux |grep zabbix
  4. zabbix 8617 0.0 0.1 82732 1304 ? S 19:51 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
  5. zabbix 8618 0.0 0.1 82732 1320 ? S 19:51 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
  6. zabbix 8619 0.0 0.1 82732 1860 ? S 19:51 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
  7. zabbix 8620 0.0 0.1 82732 1860 ? S 19:51 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
  8. zabbix 8621 0.0 0.1 82732 1860 ? S 19:51 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
  9. zabbix 8622 0.0 0.2 82864 2240 ? S 19:51 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
  10. root 8625 0.0 0.0 112664 972 pts/0 R+ 19:51 0:00 grep --color=auto zabbix
  11. [root@xavi-002 ~]# netstat -lntp
  12. Active Internet connections (only servers)
  13. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  14. tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
  15. tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 1416/dnsmasq
  16. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 948/sshd
  17. tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 941/cupsd
  18. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1415/master
  19. tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 8617/zabbix_agentd
  20. tcp6 0 0 :::111 :::* LISTEN 1/systemd
  21. tcp6 0 0 :::22 :::* LISTEN 948/sshd
  22. tcp6 0 0 ::1:631 :::* LISTEN 941/cupsd
  23. tcp6 0 0 ::1:25 :::* LISTEN 1415/master
  24. tcp6 0 0 :::10050 :::* LISTEN 8617/zabbix_agentd

五、Zabbix忘记Admin密码如何做

mark

mark

mark

mark

  • 这样就可以登入新密码了

mark

转载于:https://blog.51cto.com/12995218/2103829

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/286086
推荐阅读
相关标签
  

闽ICP备14008679号