기능:
PM2를 통해 관리되는 Node.js 프로세스를 자동으로 검색합니다.
Nodes.js 프로세스 상태, CPU 사용량, 메모리 사용량 및 프로세스 재시작 여부를 보고합니다.
PM2 데몬 프로세스의 상태, 리소스 사용량 및 PID 변경을 모니터링합니다.
설치하기 쉬운 Zabbix 모니터링 항목 템플릿이 제공됩니다.
1. Node.js 서버 설치 pm2-zabbix
npm install -g pm2-zabbix
자동 검색 기능이 정상인지 테스트:
pm2-zabbix --discover
성공적인 설치를 나타내는 것과 유사한 출력:
{ "data": [ { "{#PROCESS_ID}": "qb_node-0", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-1", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-2", "{#PROCESS_NAME}": "qb_node" }, { "{#PROCESS_ID}": "qb_node-3", "{#PROCESS_NAME}": "qb_node" } ] }
2. 코드
git clonehttps://github.com/greatcare/pm2-zabbix.git
3. Zabbix 웹 관리 백그라운드 가져오기 템플릿 파일 pm2-zabbix/install/zabbix-server/pm2- zabbix.template.xml
4. Node.js 서버에 서비스를 추가하고, 서버 운영 체제 버전에 따라 선택하고, PM2를 사용하여 시작한 Node.js 사용자와 일치하도록 서비스 실행 사용자를 수정합니다
RHEL/CentOS 7 시리즈:
cp pm2-zabbix/install/init/systemd/pm2-zabbix.service /usr/lib/systemd/system/
대상 파일 pm2-zabbix.service 파일 콘텐츠 수정 사용자 항목:
User=root
RHEL/CentOS 6 또는 5 시리즈:
cp pm2-zabbix/install/init/sysv/pm2-zabbix /etc/init.d/
대상 파일 pm2-zabbix 수정 파일 내용 DAEMON_USER 항목:
DAEMON_USER=root
5. 새로운 소프트 연결을 생성하고 서버에 따라 소프트 연결이 가리키는 실제 파일 경로를 수정합니다
mkdir -p /etc/zabbix ln -s /App/zabbix/etc/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf ln -s /App/zabbix/bin/zabbix_sender /usr/bin/zabbix_sender ln -s `which node` /usr/bin/node ln -s `which pm2-zabbix` /usr/local/bin/pm2-zabbix
6. pm2-zabbix 서비스 시작
RHEL/CentOS 7 시리즈:
systemctl start pm2-zabbix
RHEL/CentOS 6 또는 5 시리즈:
service start pm2-zabbix
7. Zabbix Agent 구성 파일 zabbix_agentd.conf를 수정하고 다른 구성을 추가합니다
Include=/App/zabbix/etc/zabbix_agentd.conf.d/*.conf
8. Zabbix 에이전트 구성 복사
cp pm2-zabbix/install/zabbix-agent/pm2-zabbix.conf /App/zabbix/etc/zabbix_agentd.conf.d/pm2.conf
9.pm2.conf 콘텐츠 수정 - 사용자는 4번과 동일, 동료는 pm2-zabbix 경로
UserParameter=pm2.processes,sudo -u root /usr/local/bin/pm2-zabbix --discover
수정 10. 서버 터미널 실행 프로그램 visudo sudo 구성 추가
zabbix ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/pm2-zabbix Defaults:zabbix !requiretty
11. Node.js 서버 Zabbix 에이전트 서비스 다시 시작
/etc/init.d/zabbix_agentd restart
12 . Zabbix 웹 관리 백엔드 설정 Node.js 서버 링크 템플릿 앱 추가 PM2 템플릿 PM2 데몬 CPU 사용량 PM2 데몬 프로세스 메모리 사용량 PM2에서 관리하는 노드 프로세스 인스턴스 CPU 사용량 PM2에서 관리하는 노드 프로세스 인스턴스의 메모리 사용량