Loading... ## 前言 前些天按照 [@Newlearner365](https://www.newlearner.site/ ) 大佬的文章[Uptime Robot-定时监控VPS运行情况](https://www.newlearner.site/2018/11/26/uptime-robot.html )弄了个监控,还是挺方便的。特别是可以 RSS 订阅,然后用自己搭建的 tg [RSS 机器人](https://t.me/withdewhua_rss_bot)订阅,方便地接收提醒。 这两天又偶然看到了 [Nginx Amplify](https://www.nginx.com/products/nginx-amplify/ ),可以监控Nginx、php-fpm、mysql、系统等工作情况,并对Nginx配置文件给出建议。其实我对这些没啥需求,不过,看那监控界面挺好看的,所以我就弄了一个(~~颜值才是第一生产力~~?️)。 服务器环境是直接使用[LNMP](https://lnmp.org/ )一键脚本的,所以以下内容都是基于此。其实[官方文档](https://amplify.nginx.com/docs/guide-installing-and-managing-nginx-amplify-agent.html )里面写得非常详细,有能力的建议直接看文档,文中大部分内容来自于官方文档。 ## 准备工作 - 服务器已经安装[LNMP](https://lnmp.org/ )环境 - 前往[Nginx Amplify 官网](https://amplify.nginx.com/ )注册帐号 ## 安装`Amplify Agent` 注册好帐号之后,就会有安装amplify的步骤,按照提示做就好,具体如下: 1. 下载一键安装脚本: ```bash curl -sS -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh # 或者 wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh ``` 2. 以`root`用户执行以下命令安装amplify: ```bash # 该命令在安装向导中直接复制即可 API_KEY='your-api-key' sh ./install.sh ``` 3. 检查amplify是否启动: ```bash ps ax | grep -i 'amplify\-' ``` ## 配置 Nginx 1. 需要添加一个`stub_status.conf`文件,对于LNMP来说,可以直接在`/usr/local/nginx/conf/vhost/`下添加。 ```bash # 1. 进入该文件夹 cd /usr/local/nginx/conf/vhost # 2. 创建 stub_status.conf 文件 cat > stub_status.conf # 3. 将以下内容粘贴到终端中 server { listen 127.0.0.1:80; server_name 127.0.0.1; location /nginx_status { stub_status on; allow 127.0.0.1; deny all; } } # 4. 使用 `ctrl+d` 退出 # 5. 检查配置文件 nginx -t ## 返回如下 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful ``` 2. 配置`access.log`及`error.log`以提供更多信息: ```bash # 1. 进入 nginx 配置文件夹 cd /usr/local/nginx/conf # 2. 编辑 nginx.conf 文件 vim +/http nginx.conf # 3. 在 http 中进入 log 格式 log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" ' '"$host" sn="$server_name" ' 'rt=$request_time ' 'ua="$upstream_addr" us="$upstream_status" ' 'ut="$upstream_response_time" ul="$upstream_response_length" ' 'cs=$upstream_cache_status' ; # 4. 打开自己网站的配置文件 vim +/access_log vhost/your-domain.conf # 5. 修改内容如下 access_log /home/wwwlogs/10101.io.log main_ext; error_log /home/wwwlogs/10101.io.error.log warn; # 6. 重载nginx service nginx reload ``` 以上配置好之后,amplify的配置向导流程基本走完了,点击**finish**后稍等一会儿就可以看到统计结果了。此时,图表中只有`nginx`以及`system`的信息,如果需要`php-fpm`以及`mysql`的统计信息,那么还需要继续配置一下。 ## 配置 `php-fpm` ```bash # 1. 编辑 php-fpm 配置文件 vim /usr/local/php/etc/php-fpm.conf # 2. 添加内容 pm.status_path = /status # 3. 检查 agent.conf 文件中是否开启 php-fpm cat /etc/amplify-agent/agent.conf | grep phpfpm # phpfpm = True # 4. 重启 php-fpm 以及 amplify agent service php-fpm restart service amplify-agent restart ``` 等待一会儿刷新amplify网页,数据就会出现。 ## 配置 `MySQL` ```bash # 1. 登录数据库 mysql -u root -p # 输入数据库root用户密码 # 2. 创建新用户 CREATE USER 'amplify-agent'@'localhost' IDENTIFIED BY 'your-passwd'; exit; # 退出 # 3. 登录 amplify-agent 用户 mysql -u amplify-agent -p # 输入数据库 amplify-agent 用户密码 # 4. 检查用户权限 show global status; # 5. 编辑 agent.conf 文件 vim /etc/amplify-agent/agent.conf # 6. 修改内容如下 [extensions] .. mysql = True [mysql] #host = 127.0.0.1 #port = 3306 unix_socket = /tmp/mysql.sock # cat /etc/my.cnf | grep socket 或者 ps aux | grep mysql.sock user = amplify-agent password = your-passwd # 7. 重启 agent service amplify-agent restart ``` 稍等片刻,然后刷新网页即可看到数据。 ## 升级 `Amplify-agent` ```bash # Debain/Ubuntu apt-get update & apt get install nginx-amplify-agent ``` ## Amplify 界面 - Overview ![amplify-overview](/usr/uploads/2019/11/109252903.png) - Graphs ![amplify-graphs](/usr/uploads/2019/11/2262320132.png) 如上,点击上方的 tab 栏可以查看对应nginx、php-fpm、mysql、system的信息 - Dashboards 可在此处自定义自己需要关注的信息图表 - Analyzer ![amplify-analyzer](/usr/uploads/2019/11/3763301514.png) 分析Nginx配置信息,并给出修改意见 - Alerts 定义提醒规则,当达到规则条件时会给邮箱发送邮件 最后修改:2021 年 06 月 06 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏
1 条评论
功能什么的不错 也蛮好看的 准备也来装个