Linux服务器安装zabbix监控平台

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

  zabbix是基于web界面的开源分布式监控平台,可以监控各种服务器的配置参数,支持自定义配置和自定义告警,并且可以实现邮件、短信等方式的告警,zabbix基本组件如下:

  zabbix_server:zabbix服务端守护进程,所有的监控数据都会统一汇总给server

  zabbix_agentd:客户端守护进程,负责执行server命令,收集客户端各种参数,如cpu负载,内存,硬盘io等

  zabbix_get:zabbix的一个工具,通常用于从server或者proxy获取远程客户端的信息,以及故障排查等

  zabbix_sender:zabbix的一个工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查

  zabbix_proxy:zabbix代理守护进程,功能类似server,作为中转站将收集到的数据转发给server,主要就是用于分布式集群中分担server的负担,构成类似分布式的server架构,但是最终数据还是要提交给server来汇总

  下面使用bigdata1和bigdata2来安装zabbix,其中bigdata1运行server,agent,web界面 bigdata2只运行agent,下面分别进行:

  1. bigdata1 server,agent,web界面的部署

  首先去zabbix官网下载最新的安装包,下载地址为:http://www.zabbix.com/download 这里是下载通用的源码包,要拉到页面最下方下载对应的源码包,目前最新版本是3.2,下载包名为:zabbix-3.2.3.tar.gz

  

  下载后上传至服务器,

  由于web部分是使用php,所以必须要配置php的环境,可以是lamp或者lnmp 这里使用的是lnmp php版本为最新的7.1.0

  另外php务必要开启如下模块:

  bcmath 使用编译参数:--enable-bcmath

  mbstring  --enable-mbstring

  sockets  --enable-sockets

  gd  --with-gd

  libxml  --with-libxml-dir

  xmlwriter  php7默认开启,直接编译即可

  xmlreader php7默认开启

  ctype   php7默认开启

  session 默认开启

  gettext  --with-gettext

  具体php安装和nginx配置可以参考我之前的文章:http://www.cnblogs.com/freeweb/p/5425554.html

  并且特别注意要专门修改php.ini的参数配置,才能运行web端,具体配置如下:

  max_execution_time = 30 修改为 300

  memory_limit 默认如果为 128M 不用修改

  post_max_size 默认是8M 修改为16M

  upload_max_filesize 这项默认是2M 不用修改

  max_input_time 默认为60 修改为 300

  date.timezone 默认是注释的,要修改为PRC或者Asia/Shanghai

  修改完这些配置要重启php-fpm进程

  然后安装zabbix server和agent

  安装的时候需要依赖:net-snmp-devel libxml2-devel libcurl-devel否则编译阶段会失败,其中后两个在php安装过程中应该都是安装好的,这里只安装第一个: yum -y install net-snmp-devel 

  然后安装zabbix:

tar -xvzf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3/
./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make -j4
make install

  执行完上述命令,zabbix就安装成功了,位置在/opt/zabbix,并且--enable-server和--enable-agent是同时开启server和agent,并且后面的参数对于server来说都要加上

  zabbix启动默认使用zabbix用户,所以需要创建用户和组:

groupadd zabbix
useradd -g zabbix zabbix

  然后初始化mysql数据库,这里mysql用户名和密码都为root,首先登录数据库: mysql -uroot -proot 

  然后创建zabbix数据库用于zabbix server使用: > create database zabbix default charset utf8; 这里编码要注意,一定是utf8的,否则会出现乱码

  然后导入需要的数据文件:

mysql -uroot -proot zabbix < database/mysql/schema.sql
mysql -uroot -proot zabbix < database/mysql/images.sql
mysql -uroot -proot zabbix < database/mysql/data.sql

  注意:只有server需要这三个sql文件,proxy只需要schema.sql这一个sql,agent都不需要

  然后执行 cd /opt/zabbix/ 进入zabbix目录,执行: vim etc/zabbix_server.conf 编辑server配置文件,修改项如下:

  DBName=zabbix

  DBUser=root

  DBPassword=root

  DBPort=3306

  另外DBHost默认是localhost,实际中php连接本地的mysql时会出现各种问题,如果是mariadb那么默认是可以的,如果是原版mysql那么启动后查看日志会出现/tmp/mysql.sock无法访问的错误,但是/tmp/mysql.sock一切正常,网上各种说法都是错误的,原因是localhost会走本地的socket,而php连接localhost会出问题,所以强烈建议DBHost配置为127.0.0.1从而避免各种问题

  配置之后保存并退出

  然后执行 ./sbin/zabbix_server 启动服务端,服务端默认绑定端口号是10051,如果关闭zabbix_server直接平缓杀掉一个主进程即可

  然后配置本机的agent: vim etc/zabbix_agentd.conf 修改参数如下:

  Server=127.0.0.1

  ServerActive=127.0.0.1

  Hostname=Zabbix server

  上面的Server和ServerActive都是指定zabbix_server的地址,由于是本机所以可以写成127.0.0.1 其他的主机要具体配置server的实际ip或者主机名,这两个配置项的功能是Server是配置允许server来我这取数据,ServerActive是主动提交数据给server

  其中Hostname配置一个主机标识,在集群中一般是主机名即可,这里由于是本地默认使用Zabbix server也是可以的

  配置完成保存并退出,然后启动客户端: ./sbin/zabbix_agentd 客户端默认端口号是10050 关闭方法和server一致

  然后配置web部分,首先定义web目录是/web 可以将zabbix统一放到/web/zabbix中,假设这些目录都不存在,则首先创建web目录:

   mkdir /web 然后进入到之前编译zabbix的目录zabbix-3.2.3下,拷贝前端程序:

cp -rp frontends/php/ /web/zabbix

  然后给/web/zabbix目录授权php用户可以访问: chown -Rv www-data:www-data /web/zabbix/ 

  然后在nginx中稍微做一下配置,指向web目录并且开启优雅uri参数,具体配置如下:

复制代码
        root   /web;
        index  index.html index.htm index.php;
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
复制代码

  其中root指向web根目录在最上面进行了全局设置,配置保存后重新加载nginx配置,然后访问界面:http://ip:port/zabbix进行安装,这里是:http://192.168.0.157:10086/zabbix

  安装过程很简单,欢迎界面执行下一步会检测php配置,如果不符合会给出提示,等修改好刷新可以继续安装,另外注意在mysql配置部分主机要配置127.0.0.1其余根据实际参数配置,然后后面的步骤全部默认即可,最后php会在/web/zabbix目录下创建对应的配置文件,所以上面授权是必须的,最后点击Finish完成安装,页面会跳转至登录界面,默认登录用户名为:admin 密码为:zabbix

  进入界面可以进行基本的语言设置和用户配置,点击配置->主机可以进行主机的管理,点击右上角可以创建一个新的agent主机

  

 

  默认的Zabbix server会被自动发现,可以查看其中一些默认的参数等,接下来在bigdata2配置另外一个agent主机

  2. bigdata2 agent2配置

  bigdata2只运行一个纯agent,其他的都不需要,同样是先将包zabbix-3.2.2.tar.gz发送至bigdata2服务器,然后执行安装:

tar -xvzf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3/
./configure --prefix=/opt/zabbix --enable-agent
make
make install

  这里编译参数只加--enable-agent即可,安装完成之后同样需要先创建zabbix用户

groupadd zabbix
useradd -g zabbix zabbix

  然后执行: vim /opt/zabbix/etc/zabbix_agentd.conf 编辑agent配置文件,配置如下参数:

  Server=192.168.0.157

  ServerActive=192.168.0.157

  Hostname=bigdata2

  上面Server和ServerActive都要指定具体的zabbix_server地址,Hostname配置agent主机名即可

  然后执行: ./sbin/zabbix_agentd 启动agent,回到界面进入创建主机:

  

  

   其中主机名称要和Hostname的配置一致,可见的名称自己自定义填写,群组选定一个常用的即可,比如Linux servers或者Zabbix servers都可以,为了便于管理,agent代理的ip那里填写具体要添加agent主机的ip,其余默认然后点击上面的模板:

  

  比如这里选择Template OS Linux然后点击添加,必须点击添加添加模板才可以链接过去,最后点击保存即可,然后就可以管理主机的详细情况了

  另外可以将启动脚本放到/etc/init.d/中方便后来快速启动,首先进入到编译目录下,然后执行下面命令拷贝启动脚本:

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

  在misc/init.d/下面有对应不同操作系统的脚本,比如debian,ubuntu等,这里是使用的CentOS,所以使用的是fedora的,因为redhat,fedora,centos都是基于reahat的不同发行版

  然后分别编辑这两个脚本,修改BASEDIR为实际的zabbix安装位置,这里是:BASEDIR=/opt/zabbix,修改完分别保存

  首次使用必须先使用kill结束zabbix的server和agent进程,然后就可以使用脚本启动或者关闭了,具体命令和其他服务是通用的: /etc/init.d/zabbix_server start|stop|status 

  设置开机随系统启动:

chkconfig zabbix_server on
chkconfig zabbix_agentd on

  启动后也可以使用systemctl来进行管理,比如: systemctl status zabbix_server.service 

  然后其余的agent主机启动脚本配置完全一样

  现在zabbix最基本的平台就安装完毕了

  

 

本文转自SanMaoSpace博客园博客,原文链接:http://www.cnblogs.com/freeweb/p/6297786.html,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
56
分享
相关文章
|
11天前
|
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
64 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
43 21
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
|
24天前
|
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
123 25
|
1月前
|
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
84 10
|
1月前
|
Linux安装svn并启动
Linux安装svn并启动
60 10
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
66 23
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
63 22
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
77 25
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等