https://github.com/dennyzhang/monitor-docker-slack
:alarm_clock: Get Slack Notifications, When Containers Run Into Issues
https://github.com/dennyzhang/monitor-docker-slack
containers devops docker monitoring python slack
Last synced: 25 days ago
JSON representation
:alarm_clock: Get Slack Notifications, When Containers Run Into Issues
- Host: GitHub
- URL: https://github.com/dennyzhang/monitor-docker-slack
- Owner: dennyzhang
- Created: 2017-08-27T16:45:16.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-02-21T10:19:04.000Z (about 5 years ago)
- Last Synced: 2024-02-14T21:29:05.031Z (about 1 year ago)
- Topics: containers, devops, docker, monitoring, python, slack
- Language: Python
- Homepage: https://www.dennyzhang.com/docker_monitor
- Size: 203 KB
- Stars: 71
- Watchers: 8
- Forks: 44
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/dennyzhang/monitor-docker-slack) [](https://hub.docker.com/r/denny/monitor-docker-slack/)
[](https://www.linkedin.com/in/dennyzhang001) [](https://github.com/DennyZhang)
- File me [tickets](https://github.com/DennyZhang/monitor-docker-slack/issues) or star [the repo](https://github.com/DennyZhang/monitor-docker-slack)
# Introduction
Get Slack Notifications, When Containers Run Into IssuesRead more: https://www.dennyzhang.com/docker_monitor
# General Idea
1. Start a container in the target docker host.
2. This container will query status for all containers.```curl -XGET --unix-socket /var/run/docker.sock http://localhost/containers/json```
3. Send slack notifications, we get matched of "unhealthy"
# How To Use: Plain Container
- Specify slack credentials via env```
export SLACK_CHANNEL="#XXX"
export SLACK_USERNAME="XXX"
export SLACK_TOKEN="xoxp-XXX-XXX-XXX-XXXXXXXX"
export MSG_PREFIX="Monitoring On XX.XX.XX.XX"
```- Start container to check
```
container_name="monitor-docker-slack"
# Stop and delete existing container
docker stop $container_name; docker rm "$container_name"# Start container to monitor docker healthcheck status
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-t -d -h $container_name --name $container_name \
-e SLACK_CHANNEL="$SLACK_CHANNEL" -e SLACK_USERNAME="$SLACK_USERNAME" \
-e SLACK_TOKEN="$SLACK_TOKEN" -e MSG_PREFIX="$MSG_PREFIX" \
-e WHITE_LIST="$WHITE_LIST" --restart=always \
denny/monitor-docker-slack:latest# Check status
docker logs "$container_name"
```# How To Use: Docker-compose
```
version: '2'
services:
monitor-docker-slack:
container_name: monitor-docker-slack
image: denny/monitor-docker-slack:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
SLACK_CHANNEL: "#XXX"
SLACK_USERNAME: "XXX"
SLACK_TOKEN: "xoxp-XXX-XXX-XXX-XXXXXXXX"
MSG_PREFIX: "Monitoring On XX.XX.XX.XX"
restart: always
```# More customization
- Add message prefix for the slack notification
```
export MSG_PREFIX="Docker Env in Denny's env"
```![]()
- Skip checking certain containers by customizing WHITE_LIST env.
```
export MSG_PREFIX="Docker Env in Denny's env"
export WHITE_LIST="nodeexporter,ngin.*"
```![]()
Code is licensed under [MIT License](https://www.dennyzhang.com/wp-content/mit_license.txt).