草庐IT

centos7飞速搭建zabbix5.0并添加windows、linux监控

王忘杰 2023-03-28 原文

一、环境

zabbix所在服务器系统为centos7,监控的服务器为windows2016和centos7。

二、安装zabbix

官方安装帮助页面

https://www.zabbix.com/cn/download

1、关闭selinux

临时 setenforce 0

永久 /etc/selinux/config

SELINUX=disabled

2、配置zabbix yum源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

yum clean all

3、安装zabbix服务端和zabbix监控端

yum install zabbix-server-mysql zabbix-agent

4、安装zabbix前端

启用scl软件源

yum install centos-release-scl

编辑文件 /etc/yum.repos.d/zabbix.repo 启用源

[zabbix-frontend]

enabled=1

5、安装zabbix前端

yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

6、安装数据库

配置mariabd源

/etc/yum.repos.d/MariaDB.repo

[mariadb]

name = MariaDB

baseurl=https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64

gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB

gpgcheck=1

yum -y install MariaDB-server MariaDB-client

systemctl start mariadb #启动服务

systemctl enable mariadb #设置开机启动

7、进行MariaDB的相关简单配置

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车

New password: <– 设置root用户的密码

Re-enter new password: <– 再输入一次你设置的密码

其他配置

Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

8、创建数据库mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;

mysql> create user zabbix@localhost identified by 'password123';

mysql> grant all privileges on zabbix.* to zabbix@localhost;

mysql> quit;

导入初始架构和数据,系统将提示您输入新创建的密码。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

9、配置数据库密码

编辑配置文件 /etc/zabbix/zabbix_server.conf

DBPassword=password123

10、配置PHP时区

编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

php_value[date.timezone] = Asia/Shanghai

11、启动并设置开机启动

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

12、防火墙开放端口

firewall-cmd --add-port=80/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-ports

firewall-cmd --list-services

三、前端配置

1、连接到新安装的Zabbix前端: http://server_ip/zabbix

环境检查

连接数据库

zabbix服务器监听端口

确认信息

安装完成

2、登录

默认账号密码 Admin zabbix

软件首页

设置中文 Administration - Users - Admin

修改为中文,别忘了修改密码

四、安装windows agent

https://www.zabbix.com/cn/download_agents

在客户机中安装

填入服务器地址,安装完成

在zabbix平台添加主机监控

创建主机 配置 - 主机 - 创建主机

选择群组,输入客户端IP,添加

关联监控模板

zabbix官方windows监控模板,点击更新

稍等一分钟,就会显示zbx在线

查看主机最新数据 监测 - 主机 - 最新数据

五、安装centos7 linux agent

1、关闭selinux

关闭selinux

临时 setenforce 0

永久 /etc/selinux/config

SELINUX=disabled

2、打开防火墙端口,agent端口为10050

firewall-cmd --add-port=10050/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-ports

firewall-cmd --list-services

3.安装zabbix

rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.21-1.el7.x86_64.rpm

4.修改zabbix agent配置

/etc/zabbix/zabbix_agentd.conf

Server=zabbixIP

ServerActive=zabbixIP

Hostname=本机名字

5.启动并开机启动

systemctl start zabbix-agent

systemctl enable zabbix-agent

6.在zabbix平台添加主机并关联linux模板,查看数据

六、linux批量自动上线zabbix-agent


1、zabbix配置自动注册

注意,自动注册即客户端主动连接服务器,所以服务器除了web平台的80端口外,还需要开放TCP10051端口

firewall-cmd --permanent --add-port=10050-10051/tcp

firewall-cmd --reload

firewall-cmd --list-ports


平台 - 配置 - 动作 - Autoregistration actions自动注册


创建动作

元数据中的 Linux 为下方脚本里的 HostMetadata=Linux 严格区分大小写

操作

添加主机

添加主机群组

关联模板


启用动作即可

2、客户主机修改主机名

使用自动注册,那么客户端的名字就非常重要了,更改可以方便识别的主机名

hostnamectl set-hostname 新主机名


3、客户端放置并执行自动脚本,也可配置批量远程执行,大规模上线客户端,此脚本支持centos7/8

#/bin/bash

echo "关闭selinux"

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

setenforce 0

#yum clean all

echo "下载zabbix-agent"

OSVERSION=`cat /etc/redhat-release |awk -F "release " '{print $2}'|awk -F "." '{print $1}'`

rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/$OSVERSION/x86_64/zabbix-agent-5.0.21-1.el$OSVERSION.x86_64.rpm

echo "修改zabbix-agent配置文件"

ipaddr=$(ip a show |grep ens|grep inet |awk '{print $2}'|awk -F '/' '{print $1}')

zabbix_server='192.168.30.130'

hostname=$(hostname)

sed -i "s/^Server=127.0.0.1/Server=${zabbix_server}/g" /etc/zabbix/zabbix_agentd.conf

sed -i "s/^ServerActive=127.0.0.1/ServerActive=${zabbix_server}/g" /etc/zabbix/zabbix_agentd.conf

sed -i "s/Hostname=Zabbix server/Hostname=${hostname}/g" /etc/zabbix/zabbix_agentd.conf

sed -i "s/# HostMetadata=/HostMetadata=Linux/g" /etc/zabbix/zabbix_agentd.conf

echo "防火墙放行zabbix-agent端口"

firewall-cmd --permanent --add-port=10050-10051/tcp

firewall-cmd --reload

echo "启动zabbix-agent服务"

systemctl start zabbix-agent && systemctl  enable zabbix-agent

zabbixagentpid=`ps -ef |grep zabbix_agentd|grep -w 'zabbix_agentd'|grep -v 'grep'|awk '{print $2}'`

if [ "$zabbixagentpid" ];then

 echo "zabbix agent 正在运行 "

   else

 echo "zabbix agent 安装失败!!!"

 fi

上传服务器,添加执行权限,执行

chmod +x ./centos-zabbix-agent-install.sh

./centos-zabbix-agent-install.sh

脚本报 zabbix agent正在运行 即为正常

4、平台查看上线情况

已自动上线





七、总结

快速简单,你学会了吗

有关centos7飞速搭建zabbix5.0并添加windows、linux监控的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 我需要将 Bundler 本身添加到 Gemfile 中吗? - 2

    当我使用Bundler时,是否需要在我的Gemfile中将其列为依赖项?毕竟,我的代码中有些地方需要它。例如,当我进行Bundler设置时:require"bundler/setup" 最佳答案 没有。您可以尝试,但首先您必须用鞋带将自己抬离地面。 关于ruby-我需要将Bundler本身添加到Gemfile中吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4758609/

  3. ruby - 将 Bootstrap Less 添加到 Sinatra - 2

    我有一个ModularSinatra应用程序,我正在尝试将Bootstrap添加到应用程序中。get'/bootstrap/application.css'doless:"bootstrap/bootstrap"end我在views/bootstrap中有所有less文件,包括bootstrap.less。我收到这个错误:Less::ParseErrorat/bootstrap/application.css'reset.less'wasn'tfound.Bootstrap.less的第一行是://CSSReset@import"reset.less";我尝试了所有不同的路径格式,但它

  4. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  5. ruby - 续集在添加关联时访问many_to_many连接表 - 2

    我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

  6. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  7. ruby - 可以通过多少种方法将方法添加到 ruby​​ 对象? - 2

    当谈到运行时自省(introspection)和动态代码生成时,我认为ruby​​没有任何竞争对手,可能除了一些lisp方言。前几天,我正在做一些代码练习来探索ruby​​的动态功能,我开始想知道如何向现有对象添加方法。以下是我能想到的3种方法:obj=Object.new#addamethoddirectlydefobj.new_method...end#addamethodindirectlywiththesingletonclassclass这只是冰山一角,因为我还没有探索instance_eval、module_eval和define_method的各种组合。是否有在线/离线资

  8. ruby - 如何在 Ruby 中向现有方法定义添加语句 - 2

    我注意到类定义,如果我打开classMyClass,并在不覆盖的情况下添加一些东西我仍然得到了之前定义的原始方法。添加的新语句扩充了现有语句。但是对于方法定义,我仍然想要与类定义相同的行为,但是当我打开defmy_method时似乎,def中的现有语句和end被覆盖了,我需要重写一遍。那么有什么方法可以使方法定义的行为与定义相同,类似于super,但不一定是子类? 最佳答案 我想您正在寻找alias_method:classAalias_method:old_func,:funcdeffuncold_func#similartoca

  9. ruby-on-rails - 添加回形针新样式不影响旧上传的图像 - 2

    我有带有Logo图像的公司模型has_attached_file:logo我用他们的Logo创建了许多公司。现在,我需要添加新样式has_attached_file:logo,:styles=>{:small=>"30x15>",:medium=>"155x85>"}我是否应该重新上传所有旧数据以重新生成新样式?我不这么认为……或者有什么rake任务可以重新生成样式吗? 最佳答案 参见Thumbnail-Generation.如果rake任务不适合你,你应该能够在控制台中使用一个片段来调用重新处理!关于相关公司

  10. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

随机推荐