Zabbix&Grafana监控&睿象云1

Zabbix&Grafana&睿象云监控预警1

Zabbix入门

Zabbix概述

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警,这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。Zabbix 支持轮询和被动捕获。基于Web的前端页面确保您的网络状态和服务器健康状况可以从任何地方进行评估。在经过适当的配置后,Zabbix可以在监控IT基础设施方面发挥重要作用。无论是对于拥有少量服务器的小型组织,还是拥有大量服务器的大型公司而言,同样适用。

Zabbix 基础架构


核心组件主要是Agent和Server,其中Agent主要负责采集数据并通过主动或者被动的方式采集数据发送到Server/Proxy,除此之外,为了扩展监控项,Agent还支持执行自定义脚本。Server主要负责接收Agent发送的监控信息,并进行汇总存储,触发告警等。Zabbix Server将收集的监控数据存储到Zabbix Database中。Zabbix Database支持常用的关系型数据库,如果MySQL、PostgreSQL、Oracle等,默认是MySQL,并提供Zabbix Web页面(PHP编写)数据查询。

Zabbix和Prometheus

https://img2018.cnblogs.com/i-beta/1592465/202001/1592465-20200127150225439-601778478.png

综合比对:

  如上面的表格,从开发语言上看,为了应对高并发和快速迭代的需求,监控系统的开发语言已经慢慢从C语言转移到Go。不得不说,Go凭借简洁的语法和优雅的并发,在Java占据业务开发,C占领底层开发的情况下,准确定位中间件开发需求,在当前开源中间件产品中被广泛应用。从系统成熟度上看,Zabbix是老牌的监控系统:Zabbix是在1998年就出现的,系统功能比较稳定,成熟度较高。而Prometheus是最近几年才诞生的,虽然功能还在不断迭代更新,但站在巨人的肩膀之上,在架构设计上借鉴了很多老牌监控系统的经验;从数据存储方面来看,Zabbix采用关系数据库保存,这极大限制了Zabbix采集的性能,而Prometheus自研一套高性能的时序数据库,在V3版本可以达到每秒千万级别的数据存储,通过对接第三方时序数据库扩展历史数据的存储;从配置复杂度上看,Prometheus只有一个核心server组件,一条命令便可以启动,相比而言,其他系统配置相对麻烦;从社区活跃度上看,目前Zabbix比较活跃,但基本都是国内的公司参与,Prometheus在这方面占据绝对优势,社区活跃度虽然不如,但是受到CNCF的支持,后期的发展值得期待;从容器支持角度看,由于Zabbix出现得比较早,当时容器还没有诞生,自然对容器的支持也比较差。而Prometheus的动态发现机制,不仅可以支持swarm原生集群,还支持Kubernetes容器集群的监控,是目前容器监控最好解决方案。

结论:

  如果监控的是物理机,用 Zabbix,Zabbix在传统监控系统中,尤其是在服务器相关监控方面,占据绝对优势。甚至环境变动不会很频繁的情况下,Zabbix 也会比 Prometheus 好使;但如果是云环境的话,除非是 Zabbix 玩的非常溜,可以做各种定制,否则还是 Prometheus 吧,毕竟人家就是干这个的。Prometheus开始成为主导及容器监控方面的标配,并且在未来可见的时间内被广泛应用。如果是刚刚要上监控系统的话,不用犹豫了,Prometheus 准没错

Zabbix部署

集群规划

进程

hadoop102节点

hadoop103节点

hadoop104节点

zabbix-agent

zabbix-server

MySQL

zabbix-web

准备工作

关闭集群

如果集群开启,先关闭集群。因为安装Zabbix前,需要重启虚拟机。

关闭3台节点防火墙

分别在102、103和104上执行

sudo systemctl stop firewalld.service

sudo systemctl disable firewalld.service

关闭3台节点上的SELinux

1)修改配置文件/etc/selinux/config

[daydayup@hadoop102 ~]$ sudo vim /etc/selinux/config

修改如下内容

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted - Targeted processes are protected,

# mls - Multi Level Security protection.

SELINUXTYPE=targeted

2)重启服务器

[daydayup@hadoop102 ~]$ sudo reboot

配置3台节点的Zabbix yum源

安装yum仓库

安装zabbix的软件仓库配置包

这个包包含了 yum(软件包管理器)的配置文件。

[daydayup@hadoop102 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

[daydayup@hadoop103 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

[daydayup@hadoop104 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

安装Software Collections仓库

[daydayup@hadoop102 ~]$ sudo yum install -y centos-release-scl

[daydayup@hadoop103 ~]$ sudo yum install -y centos-release-scl

[daydayup@hadoop104 ~]$ sudo yum install -y centos-release-scl

修改zabbix仓库配置文件

hadoop102、hadoop103、hadoop104三台节点,依次执行如下步骤。

查看原始zabbix.repo文件

[daydayup@hadoop102 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo

查看内容如下

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]

name=Zabbix Official Repository frontend - $basearch

baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]

name=Zabbix Official Repository debuginfo - $basearch

baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

gpgcheck=1

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

gpgcheck=1

执行以下命令完成全局替换,修改为阿里云镜像

[daydayup@hadoop102 ~]$ sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo

查看修改之后的zabbix.repo文件

[daydayup@hadoop102 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo

查看内容如下

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]

name=Zabbix Official Repository frontend - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend

enabled=0

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]

name=Zabbix Official Repository debuginfo - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

gpgcheck=1

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

gpgcheck=1

打开/etc/yum.repos.d/zabbix.repo文件,启用zabbix-web仓库

[zabbix]

name=Zabbix Official Repository - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]

name=Zabbix Official Repository frontend - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]

name=Zabbix Official Repository debuginfo - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/

enabled=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

gpgcheck=1

[zabbix-non-supported]

name=Zabbix Official Repository non-supported - $basearch

baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/

enabled=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX

gpgcheck=1

安装Zabbix

在hadoop102、hadoop103、hadoop104三台节点分别执行以下安装命令

[daydayup@hadoop102 ~]$ sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl

[daydayup@hadoop103 ~]$ sudo yum install -y zabbix-agent

[daydayup@hadoop104 ~]$ sudo yum install -y zabbix-agent

配置Zabbix

创建zabbix数据库

[daydayup@hadoop102 ~]$ mysql -uroot -p123456 -e"create database zabbix character set utf8 collate utf8_bin"

导入Zabbix建表语句

[daydayup@hadoop102 ~]$ zcat /usr/share/doc/zabbix-server-mysql-5.0.18/create.sql.gz | mysql -uroot -p123456 zabbix

配置Zabbix_Server(hadoop102)

修改zabbix-server配置文件

[daydayup@hadoop102 ~]$ sudo vim /etc/zabbix/zabbix_server.conf

DBHost=hadoop102

DBName=zabbix

DBUser=root

DBPassword=123456

配置Zabbix_Agent(三台节点)

修改zabbix-agent配置文件

[daydayup@hadoop102 ~]$ sudo vim /etc/zabbix/zabbix_agentd.conf

修改如下内容:

Server=hadoop102

#ServerActive=127.0.0.1

#Hostname=Zabbix server

配置Zabbix_Web时区

修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件

[daydayup@hadoop102 ~]$ sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

修改如下内容:

[zabbix]

user = apache

group = apache

listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock

listen.acl_users = apache

listen.allowed_clients = 127.0.0.1

pm = dynamic

pm.max_children = 50

pm.start_servers = 5

pm.min_spare_servers = 5

pm.max_spare_servers = 35

php_value[session.save_handler] = files

php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/

php_value[max_execution_time] = 300

php_value[memory_limit] = 128M

php_value[post_max_size] = 16M

php_value[upload_max_filesize] = 2M

php_value[max_input_time] = 300

php_value[max_input_vars] = 10000

php_value[date.timezone] = Asia/Shanghai

启动停止Zabbix

启动Zabbix

[daydayup@hadoop102 ~]$ sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm

[daydayup@hadoop102 ~]$ sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

[daydayup@hadoop103 ~]$ sudo systemctl start zabbix-agent

[daydayup@hadoop103 ~]$ sudo systemctl enable zabbix-agent

[daydayup@hadoop104 ~]$ sudo systemctl start zabbix-agent

[daydayup@hadoop104 ~]$ sudo systemctl enable zabbix-agent

停止Zabbix

[daydayup@hadoop102 ~]$ sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm

[daydayup@hadoop102 ~]$ sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm

[daydayup@hadoop103 ~]$ sudo systemctl stop zabbix-agent

[daydayup@hadoop103 ~]$ sudo systemctl disable zabbix-agent

[daydayup@hadoop104 ~]$ sudo systemctl stop zabbix-agent

[daydayup@hadoop104 ~]$ sudo systemctl disable zabbix-agent

连接Zabbix_Web数据库

浏览器访问http://hadoop102/zabbix/

检查配置

配置数据库

配置zabbix-server

登录Zabbix

用户名:Admin 密码:zabbix

点击User Settings,语言设成中文

注意:这里默认会对Zabbix Server进行监控,但是我们可以看到目前该主机是红色,不可用的状态,原因是主机的地址不能使用127.0.0.1需要后续我们单独配置。

posted @ 2023-01-08 11:35  LEEPINE  阅读(300)  评论(0编辑  收藏  举报