passenger-status의 Mackerel 플러그인 모니터링
passenger-status
이 필요하지만 이 명령만으로는 계속 감시할 수 없습니다.우연히 감시 도구에 Macerel을 사용했는데, Passenger를 감시하는 플러그인이 없어서 했습니다.
결실
이런 느낌에서 Passenger의 총 메모리 사용량과 Passenger의 프로세스 수는 Queue에 들어오는 프로세스 수를 감시할 수 있다.
해본 일
passenger-status
Go 언어를 통해 명령 출력을 지우고 각 지표를 계산하여 표준 출력으로 출력하는 명령을 실현했다.출력 형식은 Mackerel 플러그인의 사양을 따릅니다.passenger-status 출력
--no-header
에서 여분의 눈썹을 생략하였다.$ sudo bundle exec passenger-status --no-header
----------- General information -----------
Max pool size : 6
App groups : 1
Processes : 3
Requests in top-level queue : 0
----------- Application groups -----------
/path/to/passenger-ruby-sinatra-demo/public (development):
App root: /path/to/passenger-ruby-sinatra-demo
Requests in queue: 0
* PID: 60021 Sessions: 0 Processed: 5 Uptime: 45s
CPU: 0% Memory : 8M Last used: 21s ago
* PID: 60022 Sessions: 0 Processed: 0 Uptime: 45s
CPU: 0% Memory : 1M Last used: 45s ago
* PID: 60025 Sessions: 0 Processed: 0 Uptime: 45s
CPU: 0% Memory : 1M Last used: 45s ago
passenger의 샘플 응용 프로그램은https://github.com/phusion/passenger-ruby-sinatra-demo
사용했습니다.
mackerel-Plugin-passenger 출력
passenger.memory.total_memory 10485760 1513207571
passenger.processes.processes_in_queue 0 1513207571
passenger.processes.total_processes 3 1513207571
여기에 세 개의 도량을 출력한다첫 줄은passenger 프로세스의 총 메모리 사용량입니다
두 번째 행동passenger 대기열의 요청수 합계
세 번째 줄에서 시작된 패스워드 프로세스의 총 수
네.순서는 출력에 따라 바뀔 수 있을 것 같아요.변했다거나.
실장했어
https://github.com/nabewata07/mackerel-plugin-passenger
여기다 놔.
설치 방법
플러그인의 규격은 표준 출력입니다
メトリクス名 値 UNIXタイムスタンプ
의 순서대로 출력하면 됩니다. 여러 개의 도량을 건너뛰려면 각각 한 줄씩 줄을 바꾸어 출력하면 됩니다.따라서 Go 언어 이외의 언어에서도 가능하다.
go-mackerel-plugen을 이용하다
Go 말고도 가능해요. Go 언어라면
https://github.com/mackerelio/go-mackerel-plugin
여기 라이브러리 사용하기
https://mackerel.io/ja/docs/entry/advanced/go-mackerel-plugin
여기 설명을 참고하면 플러그인의 규격에 따라 출력할 수 있어 기분이 좋아서 가볍습니다.
mkr pluggin install에 설치 가능
mackerel은 Giithub에서 플러그인을 직접 설치할 수 있는 명령줄 도구
mkr
를 제공합니다.https://mackerel.io/ja/docs/entry/advanced/install-plugin-by-mkr
https://mackerel.io/ja/blog/entry/feature/20171116
필요한 일
go-mackerel-plugin
플러그 인 설치 후https://mackerel.io/ja/docs/entry/advanced/make-plugin-corresponding-to-installer
다만 이쪽의'플러그인을 규격에 맞게 설정하는 작업'을 진행한다.
프로파일을 복사하여 최대 4개의 명령만 수행할 수 있습니다. 매우 간단합니다.
mkr로 설치해 볼게요.
mkr 자체 설치 방법은
https://mackerel.io/ja/docs/entry/advanced/cli
구문을 사용합니다.
실제 mkr로 설치해 보세요.
$ sudo mkr plugin install nabewata07/mackerel-plugin-passenger
Downloading https://github.com/nabewata07/mackerel-plugin-passenger/releases/download/v0.0.7/mackerel-plugin-passenger_darwin_amd64.zip
Installing /opt/mackerel-agent/plugins/bin/mackerel-plugin-passenger
Successfully installed nabewata07/mackerel-plugin-passenger
https://mackerel.io/ja/docs/entry/advanced/install-plugin-by-mkr 여기도 써있어요. Giithub에 있으면...
$ mkr plugin install <owner>/<repo>[@<release_tag>]
구문을 사용합니다./opt/mackerel-agent/plugins/bin/
다음 설치 명령입니다.※ 보충 2017/12/28
공식 플러그인 등록표에 들어갔기 때문에.
https://github.com/mackerelio/plugin-registry/pull/14#issuecomment-353944341
창고 소유자를 지정하지 않아도
mkr plugin install mackerel-plugin-passenger
를 참고하십시오.※ 추기 완료
감상
플러그인 제작을 위한 프로그램 라이브러리가 공개됐고, 공식 페이지에 대한 설명도 충실해 제작부터 시작까지 조작이 빨리 끝났다는 인상을 준다.
또한
goxc
와ghr
는 매우 편리하다. 지령을 두 번만 두드리면 각 플랫폼의 실행 2진법을 만들어서 Giithub에 발표할 수 있어서 나는 감동했다.
Reference
이 문제에 관하여(passenger-status의 Mackerel 플러그인 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nabewata07/items/a05c57fc5c2dccd9b558텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)