zabbix+grafana监控可视化

一、zabbix概念与理解
将zabbix agent部署到被监控主机上,由agent采集数据,报告给负责监控的中心主机,中心主机也就是master/agent模型中的master,负责监控的中心主机被称为zabbix server,zabbix server将从agent端接收到的信息存储于zabbix的数据库中,我们把zabbix的数据库端称为zabbix database, 如果管理员需要查看各种监控信息,则需要zabbix的GUI,zabbix的GUI是一种Web GUI,我们称之为zabbix web,zabbix web是使用php编写的,所以,如果想要使用zabbix web展示相关监控信息,需要依赖LAMP环境,不管是zabbix server ,或是zabbix web,他们都需要连接到zabbix database获取相关数据。
在这里插入图片描述
当监控规模变得庞大时,我们可能有成千上万台设备需要监控,这时我们是否需要部署多套zabbix系统进行监控呢?如果部署多套zabbix监控系统,那么监控压力将会被分摊,但是,这些监控的对象将会被尽量平均的分配到不同的监控系统中,这个时候,我们就无法通过统一的监控入口,去监控这些对象了,虽然分摊了监控压力,但是也增加了监控工作的复杂度,那么,我们到底该不该建立多套zabbix监控系统从而分摊巨大的监控压力呢?其实,zabbix天生就有处理这种问题的能力,因为zabbix支持分布式监控,我们可以把成千上万台的被监控对象分成不同的区域,每个区域中设置一台代理主机,区域内的每个被监控对象的信息被agent采集,提交给代理主机,在这个区域内,代理主机的作用就好比zabbix server,我们称这些代理主机为zabbix proxy,zabbix proxy再将收集到的信息统一提交给真正的zabbix server处理,这样,zabbix proxy分摊了zabbix server的压力,同时,我们还能够通过统一的监控入口,监控所有的对象,当监控规模庞大到需要使用zabbix proxy时,zabbix的架构如下图,我们可以对比下图,理解上述描述。
在这里插入图片描述
二、组件描述
zabbix agent:部署在被监控主机上,负责被监控主机的数据,并将数据发送给zabbix server。
zabbix server:负责接收agent发送的报告信息,并且负责组织配置信息、统计信息、操作数据等。
zabbix database:用于存储所有zabbix的配置信息、监控数据的数据库。
zabbix web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,可以单独部署在独立的服务器上。
zabbix proxy:可选组件,用于分布式监控环境中,zabbix proxy代表server端,完成局部区域内的信息收集,最终统一发往server端。
工作模式:
agent端会将采集完的数据主动发送给server端,这种模式我们称之为主动模式,即对于agent端来说是主动的。其实,agent端也可以不主动发送数据,而是等待server过来拉取数据,这种模式我们称之为被动模式。不管是主动模式还是被动模式,都是对于agent端来说的,而且,主动模式与被动模式可以同时存在,并不冲突。管理员可以在agent端使用一个名为zabbix_sender的工具,测试是否能够向server端发送数据。管理员可以在server端使用一个名为zabbix_get的工具,测试是否能够从agent端拉取数据。

三、服务器端与客户端部署
环境:关闭防火墙、修改主机名并且IP映射,关闭selinux
192.168.254.240(master) 192.168.254.241(slave1) 192.168.254.241(slave2) 192.168.254.241(slave3)
源码部署服务器端:

  1. A、官网下载zabbix软件包 (https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.21.tar.gz)

  2. B、这里有ansible环境我就采用ansible

  3. C、拷贝到其他主机并解压

    [root@master ~]# ansible websql -m copy -a 'src=/root/zabbix-4.0.19.tar.gz dest=/root/ mode=755 owner=root'
    

    在这里插入图片描述

  4. D、软件包解压

    [root@master ~]# ansible websql -m shell -a 'tar -zxvf /root/zabbix-4.0.19.tar.gz'
    
  5. E、安装 maridb 数据库——>服务器端

    [root@master zabbix-4.0.19]#'yum install maridb* -y
    配置创建一个 zabbix 库并设置为 utf8 的字符编码格式
    [root@master zabbix-4.0.19]# mysql -uroot -p000000
    这里之前做过读写分离 主从复制了的。等哈做一个验证。
    mysql> create database zabbix character set utf8 collate utf8_bin;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
    mysql>grant all privileges on zabbix.* to zabbix@master identified by 'zabbix';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)
    

    验证用户:

    [root@master zabbix-4.0.19]# mysql -uzabbix -pzabbix
    

    在这里插入图片描述
    导入数据库–>导入数据库顺序不能乱否则会报错:

    mysql> use zabbix;
    Database changed
    mysql> source /root/zabbix-4.0.19/database/mysql/schema.sql
    mysql> source /root/zabbix-4.0.19/database/mysql/images.sql
    mysql> source /root/zabbix-4.0.19/database/mysql/data.sql
    

    验证哈数据主从复制、读写分离没得:
    在这里插入图片描述
    在这里插入图片描述

  6. F、安装http、php

    [root@master ~]# ansible websql -m shell -a 'yum install -y gcc gcc-c++ php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc libxml2-devel net-snmp-devel libevent-de'
    添加用户和用户组
    [root@master ~]# ansible websql -m shell -a 'groupadd zabbix'    
    [root@master ~]# ansible websql -m shell -a 'useradd -g zabbix zabbix'
    验证:
    

    在这里插入图片描述

  7. G、安装master端server

    配置源代码:
    (说明:--with-mysql,指定 mysql_config 的路径;可以通过 find / -name "mysql_config" 命令查找)
    [root@master zabbix-4.0.19]# ./configure --prefix=/usr/local/zabbix -enable-server --enable-proxy --with-mysql=/usr/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 
    

    在这里插入图片描述

    [root@master zabbix-4.0.19]# make && make install
    copy 命令到系统命令存放处(方便调用)
    [root@master zabbix-4.0.19]# cp /usr/local/zabbix/sbin/* /usr/sbin/ 
    编辑配置文件:
    [root@master ~]# vi /usr/local/zabbix/etc/zabbix_server.conf
    LogFile=/var/log/zabbix/zabbix_server.log  #//日志文件存放的路径
    PidFile=/usr/localzabbix/zabbix_server.pid  #//pid 文件存放的路径
    DBHost=192.168.254.240 #//数据库服务器地址
    DBName=zabbix  #//数据库名字
    DBUser=zabbix #//连接数据库的用户名  
    DBPassword=zabbix #//连接数据库用户的密码
    # //指定连接 mysql 的 socket mysql 配置的 client sock 文件路径
    DBSocket=/var/lib/mysql/mysql.sock 
    DBPort=3306 #//数据库端口
    Timeout=4 # //超时时间
    LogSlowQueries=3000 #//慢查询记录的时间
    
    [root@master ~]# touch  /var/log/zabbix/zabbix_server.log  && chmod 777 /var/log/zabbix/zabbix_server.log
    [root@master ~]# touch /usr/local/zabbix/zabbix_server.pid && chmod 777 /usr/local/zabbix/zabbix_server.pid
    启动 zabbix_server (需要将安装目录权限设置为 zabbix,因为配置 文件中定义的 zabbix 用户启动,并指定的 sock 文件存放这个目录所 以需要设置为指定的用户的权限)
    [root@master ~]# cd /root/zabbix-4.0.19
    [root@master zabbix-4.0.19]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/ 
    [root@master ~]# chmod +x /etc/init.d/zabbix_server
    [root@master ~]# chkconfig --add zabbix_server
    [root@master ~]# chkconfig zabbix_server on
    测试服务:
    [root@master ~]# /etc/init.d/zabbix_server start
    

    在这里插入图片描述
    配置 web 界面 (先将解压目录里面的 frontends/php 目录下的所有文件 copy 到指定的 网 站目录)

    [root@master ~]# mkdir /var/www/html/zabbix
    [root@master ~]# cp -a /root/zabbix-4.0.19/frontends/php/* /var/www/html/zabbix/     
    安装配置的域名:
    http://192.168.254.240/zabbix
    初始账号:Admin 密码:zabbix
    

    在这里插入图片描述
    在这里插入图片描述

    根据报错我们来修改配置:
    vi /etc/php.ini
    post_max_size = 16M 
    max_execution_time = 300 
    max_input_time = 300 
    date.timezone = Asia/Shanghai
    [root@master ~]# systemctl restart httpd
    

    网页数据库配置:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述这里下载上传到/var/www/html/zabbx/conf/
    刷新网页:
    在这里插入图片描述
    这里会发现启动失败,我们先修改语言:
    在这里插入图片描述

    做一个软连接:
    [root@master zabbix]# ln -s /usr/local/zabbix/sbin/zabbix_server /usr/local/sbin/zabbix_server
    在从新启动:
    [root@master zabbix]# /etc/init.d/zabbix_server start
    

    在这里插入图片描述

  8. H、安装客户端

    三台机器都安装测试:
    cd /root/zabbix-4.0.19 &&  ./configure --prefix=/usr/local/zabbix --enable-agent && make install'
    # cp /usr/local/zabbix/sbin/* /usr/sbin/ 
    # cp /usr/local/zabbix/bin/* /usr/bin/
    编辑配置文件:
    # vi /usr/local/zabbix/etc/zabbix_agentd.conf
    EnableRemoteCommands=1   # #允许zabbix服务器远程zabbix_agentd执行命令
    LogRemoteCommands=1	##开启远程执行命令日志
    Server=192.168.254.240		#zabbix服务器地址
    ServerActive=192.168.254.240	#zabbix服务器地址
    Hostname=slave1   --->这个地方根据主机名修改
    
    改动启动文件
    # cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
    # chmod +x /etc/init.d/zabbix_agentd
    # chkconfig --add zabbix_agentd
    # chkconfig zabbix_agentd on
    # ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/zabbix_agentd
    启动:
    # /etc/init.d/zabbix_agentd start
    
  9. I、服务器端创建客户端(3台主机都创建)
    在这里插入图片描述
    在这里插入图片描述
    填写zabbix_agentd客户端主机信息
    在这里插入图片描述
    添加zabbix_agentd客户端主机模板。

    在这里插入图片描述
    拓扑图添加zabbix_agentd客户端主机
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    图形检查(磁盘、内存等)

    在这里插入图片描述
    在这里插入图片描述

四、grafana可视化展现

  1. A、官网地址:https://grafana.com/grafana/download/

  2. B、安装

    [root@master ~]# wget https://dl.grafana.com/oss/release/grafana-6.4.3-1.x86_64.rpm 
    [root@master ~]# yum install grafana-6.4.3-1.x86_64.rpm 
    [root@master ~]# systemctl start grafana-server
    [root@master ~]# systemctl enable grafana-server
    

    在这里插入图片描述
    登陆:http://IP:3000

    在这里插入图片描述

    默认账户密码:admin admin
    在这里插入图片描述
    在这里插入图片描述去官网看下载插件命令:

    在这里插入图片描述

    [root@master ~]# cd /var/lib/grafana/plugins/
    [root@master plugins]# grafana-cli --pluginsDir=/var/lib/grafana/plugins plugins install alexanderzobnin-zabbix-app 
    

    在这里插入图片描述

    [root@master partials]# tail -f /var/log/grafana/grafana.log 
    

    配置文件修改:
    在这里插入图片描述
    [root@master alexanderzobnin-zabbix-app]# systemctl restart grafana-server
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Mysql:
    在这里插入图片描述
    导入写好的my2.sql
    mysql -uroot -p000000
    source /root/my2.sql
    网址:https://grafana.com/grafana/dashboards?dataSource=mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值