Home >Operation and Maintenance >Linux Operation and Maintenance >Lnmp builds zabbix operation and maintenance monitoring system
Purpose of use?
I need to do a log monitoring in the company project. I chose efk at the beginning, but there is relatively little information about efk and I have not used it before. I have never come across this product and it is difficult to use. So Zabbix was chosen as the project's operation and maintenance monitoring system.
What can zabbix do?
zabbix is mainly used for network monitoring, system monitoring, application monitoring and other scenarios. Zabbix is divided into server side and agent side. The first half of the article is about the installation operation on the server side, and the end of the article explains the installation operation on the agent side.
Build environment
centos7.0, lnmp integrated environment (mysql5.7, php7.2), zabbix4.0 version. The manual gives the following installation methods:
Installation steps
1. Install lnmp environment Due to the lnmp integration package, the installation is very convenient, so you can directly install the official website manual with one click. 2. Install the zabbix server
# 安装依赖 yum install net-snmp-devel libxml2-devel libcurl-devel libevent-devel mysql-devel # 下载安装包(该安装包可以直接放在web的程序目录里面) wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.3/zabbix-4.2.3.tar.gz/download # 解压 tar zxvf zabbix-4.2.3.tar.gz # 编译(这里我使用的是mysql,所以在编译的时候是用的mysql的依赖,如果是其他的数据库按照官网手册编译的时候编译其他的数据库依赖) cd zabbix-4.2.3 ./configure --prefix=/web/data/zabbix-3.4.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 # 开始安装 make && make install
3. Create a zabbix user Why do we need to create a separate user for zabbix? It's very simple, because of security issues. For security reasons, zabbix only runs as a normal user. If your current user is called ttlsa, then if you run it, it will run as ttlsa. But if you run zabbix in the root environment, then zabbix will actively run as the zabbix user. But if your system does not have a user named zabbix, you need to create one.
groupadd zabbix useradd -g zabbix zabbix
4. Database related configuration Considering security issues, here we also create a separate database user for zabbix, and the database name is also zabbix. The MySQL user created in this article is zabbix, and the password can be defined according to yourself.
5. Import the data prepared by zabbix. .View database files
cd /home/wwwroot/zabbix-4.2.3/database && ls drwxr-xr-x 2 mysql mysql 4096 6月 6 02:23 elasticsearch drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 ibm_db2 -rw-r--r-- 1 root root 21474 6月 13 10:10 Makefile -rw-r--r-- 1 mysql mysql 155 6月 6 02:23 Makefile.am -rw-r--r-- 1 mysql mysql 21722 6月 6 02:24 Makefile.in drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 mysql drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 oracle drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 postgresql drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 sqlite3
. The above directories are for different data. Zabbix comes with different database files. We are using MySQL, so we only need to care about the files under the mysql directory, as follows That is the file we need. schema.sql file number data table structure, images.sql is the related picture data structure, and data.sql is the related data structure.
-rw-r--r-- 1 mysql mysql 4018823 6月 6 02:24 data.sql -rw-r--r-- 1 mysql mysql 1978341 6月 6 02:23 images.sql -rw-r--r-- 1 root root 15420 6月 13 10:10 Makefile -rw-r--r-- 1 mysql mysql 392 6月 6 02:23 Makefile.am -rw-r--r-- 1 mysql mysql 15711 6月 6 02:24 Makefile.in -rw-r--r-- 1 mysql mysql 142074 6月 6 02:24 schema.sql
. Log in and import the database
# 登录数据 mysql -u root -p # 选择实现创建好的zabbix数据库 use zabbix # 依次导入数据库文件 source /home/wwwroot/zabbix-4.2.3/database schema.sql source /home/wwwroot/zabbix-4.2.3/database data.sql source /home/wwwroot/zabbix-4.2.3/database images.sql
Configure virtual domain name
The zabbix built in this article is built in the virtual environment of centos7.0. In order to For easy access, a virtual domain name is built. You only need to configure an nginx file. If the lnmp integrated development environment is used in the environment, use the command that comes with the lnmp integrated development environment to create
lnmp vhost add # 指定root的目录,应该为 /home/wwwroot/zabbix-4.2.3/frontends/php # 应该开启pathinfo模式, #rwriter 选择WordPress(不强制要求)
in the local location. Add the above self-configured virtual domain name to the hosts file (take .dev.zabbix.com as an example)
Using zabbix
When we log in, we will be prompted We can fill in some installation information as prompted. After installation, you will automatically jump to the login page. You can choose guest mode or administrator mode.
Guest mode is just a simple browsing operation. The system's default management account is Admin and the password is zabbix. When using an administrator account, you may be prompted with the following message. If it is caused by our web service, if Apache is used, the following problems will not occur.
The root cause of the problem is found in the zabbix php positioning problem. Zabbix sets permissions based on the php file name, such as index.php, dashboard.php, etc. If cgi.fix_pathinfo is set If it is 0, then PHP cannot obtain the file name requested by the URL. For example, when accessing index.php, it cannot obtain index.php and locate the permissions, so this error occurs. The solution is: modify the configuration of the php.ini file.
cgi.fix_pathinfo=0 改为 cgi.fix_pathinfo=1
At this time, when we log in, we can see the following interface.
Install the agent
Configuration file directory:/etc/zabbix/zabbix_agentd.conf
1.在被监控主机上设置防火墙,允许zabbix-agent的10050端口通过 2.执行yum list |grep zabbix,找到zabbix的agent安装包并安装,如包名zabbix-agent.x86_64 3.在 /etc/zabbix/zabbix_agentd.conf 中更改: Server=<zbx-server> ServerActive=<zbx-server> Hostname= 4.设置zabbix-agent服务自启动并启动服务 systemctl enable zabbix-agent.service 开机自启动 systemctl start zabbix-agent.service 启动服务</zbx-server></zbx-server>
For more Linux-related technical articles, please visitLinux Tutorial column to learn!
The above is the detailed content of Lnmp builds zabbix operation and maintenance monitoring system. For more information, please follow other related articles on the PHP Chinese website!