tms-customer-portal-monitor
v1.0.0
Published
This service monitors customer portal events and errors using RabbitMQ and sends notifications by posting to slack channels using Slack's API.
Downloads
3
Readme
tms-customer-portal-monitor
This service monitors customer portal events and errors using RabbitMQ and sends notifications by posting to slack channels using Slack's API.
Post to Slack using webhooks and Slack API
Go to Slack's API Website
.
Follow the instructions to create a slack app and navigate to your app's page. Under Features, go to OAuth & Permissions. Set your app's permission scope to chat:write:bot
. You can now post to any slack channel using your generated OAuth access token.
HTTP Requests to post to slack channels are made using the POST
method and three arguments are required:
URL
: https://slack.com/api/chat.postMessagepayload
: object containing fieldschannel
andtext
config
: object containing aheaders
field with the OAuth token
Running locally
To use this service locally in your Docker environment, add the following to your docker-compose.yml
:
tms-customer-portal-monitor:
image: 'casestack/tms-customer-portal-monitor:stage'
ports:
- '50666:40404'
depends_on:
- rabbitmq
environment:
- ENVIRONMENT=DEV
- SLACK_API_KEY=xxx
- CHANNEL=xxx
Make sure to set the SLACK_API_KEY
and CHANNEL
to your OAuth Token and channel.
Making changes to monitor service
To begin making changes to this service, clone this repository and add the following to the docker-compose.yml
file:
tms-customer-portal-monitor:
image: 'casestack/node-service:8'
ports:
- '50666:40404'
depends_on:
- rabbitmq
environment:
- ENVIRONMENT=DEV
- SLACK_API_KEY=xxx
- CHANNEL=xxx
command: 'npm run start:dev'
volumes:
- >-
/home/vagrant/casestack/cs-services/services/tms-customer-portal-monitor:/opt/cs-service
- '$HOME/.npmrc:/root/.npmrc'
Make sure to set the SLACK_API_KEY
and CHANNEL
to your OAuth Token and channel.
Monitor your customer portal events
To monitor your own events, add a new binding to the consumer.ts
interal queue using your service name and your RabbitMQ publisher's routing key.