Zabbix安装图文教程(需要LAMP或者LNMP运行环境)

Zabbix安装图文教程(需要LAMP或者LNMP运行环境)

介绍

Zabbix是一个开源的网络监控系统,可以监控服务器、网络设备、应用程序、数据库等,支持邮件、短信、微信、电话等方式的告警通知。本文提供基于LAMP或LNMP环境的Zabbix安装攻略。

环境要求

  • 操作系统:CentOS、Debian、Ubuntu等Linux发行版。
  • LAMP或LNMP环境:分别代表Linux、Apache/Nginx、MySQL、PHP/Perl/Python等服务。
  • PHP版本:5.4及以上,建议使用PHP7.x。

步骤

1. 安装必要的软件包

# CentOS
yum -y install wget epel-release

# Debian/Ubuntu
apt-get -y install wget

2. 添加Zabbix官方仓库

# CentOS
rpm --import https://repo.zabbix.com/RPM-GPG-KEY-ZABBIX-Official
rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

# Debian/Ubuntu
wget https://repo.zabbix.com/zabbix-official-repo.key
apt-key add zabbix-official-repo.key
echo "deb [arch=amd64] https://repo.zabbix.com/zabbix/5.0/ubuntu bionic main" > /etc/apt/sources.list.d/zabbix.list

3. 安装Zabbix Server、Agent和Web

# CentOS
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

# Debian/Ubuntu
apt-get -y install zabbix-server-mysql zabbix-frontend-php zabbix-agent

4. 创建数据库及用户

CREATE DATABASE zabbix CHARACTER SET UTF8 COLLATE UTF8_BIN;
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

5. 导入Zabbix数据库数据

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

6. 配置Zabbix Server

编辑Zabbix Server配置文件/etc/zabbix/zabbix_server.conf,修改以下内容:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

7. 启动Zabbix Server和Agent

systemctl start zabbix-server zabbix-agent
systemctl enable zabbix-server zabbix-agent

8. 配置PHP时区

编辑PHP配置文件/etc/php.ini,修改以下内容:

date.timezone = Asia/Shanghai

9. 访问Zabbix Web并完成安装

访问http://IP/zabbix,进入Zabbix Web安装界面,按照提示输入数据库信息,设置管理员账号密码、Zabbix Server和Agent等信息,即可完成Zabbix安装。

示例

示例1:监控Nginx状态

  1. 安装nginx模块:
yum install zabbix-get nginx-module-zabbix
  1. 修改nginx配置文件/etc/nginx/nginx.conf,添加zabbix模块:
location = /nginx_status {
    stub_status on;
    access_log off;
    allow 127.0.0.1;
    deny all;

    zabbix on;
}
  1. 重启Nginx服务:
systemctl restart nginx
  1. 在Zabbix Web页面下创建一个新的Host,为其添加一个名为“Nginx Status”的Item,Item Key为:nginx.status[ngx_active_conn]。在Zabbix Web页面下分别选择“监控项”和“图形”标签页,进行查看。

示例2:监控MySQL状态

  1. 在Zabbix Web页面下创建一个新的Host,为其添加一个名为“MySQL Status”的Item,Item Key为:mysql.status[Com_select]。在Zabbix Web页面下分别选择“监控项”和“图形”标签页,进行查看。

  2. 若无法正常获取MySQL状态数据,则需配置MySQL支持监控:

  3. 修改MySQL配置文件/etc/my.cnf,添加以下内容:

[mysqld_exporter]
user=exporter
password=exporterpwd
  • 安装mysqld_exporter:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz
tar -zxf mysqld_exporter-0.10.0.linux-amd64.tar.gz
mv mysqld_exporter-0.10.0.linux-amd64 /usr/local/mysqld_exporter
useradd -rs /bin/false exporter
chown -R exporter:exporter /usr/local/mysqld_exporter
  • 编辑MySQL配置文件/etc/my.cnf,在最后一行添加以下内容:
[client]
user=exporter
password=exporterpwd
  • 安装mysqld_exporter服务(使用systemd方式):
mkdir /var/log/mysqld_exporter
chown -R exporter:exporter /var/log/mysqld_exporter
cp /usr/local/mysqld_exporter/mysqld_exporter.service /etc/systemd/system/
systemctl daemon-reload
systemctl start mysqld_exporter
systemctl enable mysqld_exporter
  1. 在Zabbix Web页面下重新添加MySQL Status Item,检查监控是否正常。

总结

本文介绍了基于LAMP或LNMP环境的Zabbix安装攻略,同时给出了两个简单的示例,希望能够对您的监控工作有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Zabbix安装图文教程(需要LAMP或者LNMP运行环境) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Discuz!下Memcache缓存实现方法

    Discuz!下Memcache缓存实现方法 前言 在高并发场景下,Discuz!的缓存可以使用Memcache等缓存机制实现。这种缓存机制可以大大提高页面的访问速度,并减轻服务器的负担。 下面将详细讲解Discuz!下Memcache缓存的实现方法。 步骤 1. 下载与安装Memcache Memcached是一款基于内存的缓存系统,用来存储临时数据。可以…

    database 2023年5月22日
    00
  • SQL 创建分隔列表

    我们来详细讲解SQL如何创建分隔列表。创建分隔列表可以将多个值用某个分隔符隔开,例如将多个标签用逗号分隔开来。我们可以用如下的SQL代码实现: SELECT GROUP_CONCAT(tag_name SEPARATOR ‘, ‘) AS tags FROM tags; 上述代码中,我们首先使用了GROUP_CONCAT函数,这个函数可以将多个值合并成一个字…

    database 2023年3月27日
    00
  • 数据库学习建议之提高数据库速度的十条建议

    下面我将详细讲解“数据库学习建议之提高数据库速度的十条建议”的完整攻略,包括十条建议的内容解释和两个示例。 1. 选择适合的数据类型 选择适合的数据类型可以更好地利用计算机的资源,提高数据库的性能。通常情况下,使用小的数据类型比使用大的数据类型更有效率。例如,使用整数类型代替浮点数类型或double类型可以减小存储空间和提高查询性能。 2. 避免使用NULL…

    database 2023年5月19日
    00
  • MySQL 日期时间加减的示例代码

    当我们需要在MySQL数据库中进行日期时间加减操作时,可以使用MySQL提供的日期时间函数来实现。以下是最常用的日期时间函数: DATE_ADD(date, INTERVAL expr unit):加法操作,将日期加上一个时间间隔 DATE_SUB(date, INTERVAL expr unit):减法操作,将日期减去一个时间间隔 NOW():返回当前日期…

    database 2023年5月22日
    00
  • gorm golang 并发连接数据库报错的解决方法

    下面是“gorm golang 并发连接数据库报错的解决方法”的完整攻略。 问题现象 使用 Golang 并发访问数据库时,使用 gorm 作为 ORM 库时可能会出现报错,报错信息可能类似如下: panic: sql: database is closed 解决方法 在使用 Golang 和 gorm 并发访问数据库时,需要遵循一些规则,否则会引起一些奇奇…

    database 2023年5月19日
    00
  • 客户端/服务器和分布式DBMS的区别

    客户端/服务器和分布式DBMS是两种常用的数据库架构。它们之间有着很多区别和特点。我们下面将从架构定义、数据处理方式、数据共享等多个角度介绍它们的区别。 客户端/服务器架构 客户端/服务器架构是一种常用的数据库架构,其中客户端和服务器是独立的,各自运行在不同的机器上。 客户端负责与用户交互,向用户呈现数据,接收用户的数据请求,并将其通过网络传输到服务器端。比…

    database 2023年3月27日
    00
  • MybatisPlusException:Failed to process,Error SQL异常报错的解决办法

    针对”MybatisPlusException: Failed to process, Error SQL异常报错”这种情况,可以采取以下步骤进行解决: 1.查看错误日志及异常信息 MybatisPlusException通常是由于SQL异常导致的,我们可以首先查看错误日志,了解具体的异常信息,判断问题出在哪里。常见的异常信息包括SQL语句错误、数据库表结构…

    database 2023年5月18日
    00
  • Java编程中的条件判断之if语句的用法详解

    Java编程中的条件判断之if语句的用法详解 在Java编程中,我们经常需要根据不同的条件来进行不同的操作,这时候就需要用到条件语句。if语句就是应用最广泛、最基本的条件判断语句。 if语句的语法 Java中if语句的语法如下: if (条件表达式) { // 条件表达式为真时执行的语句 } 其中,条件表达式的值只有两个可能结果:true或false。如果条…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部