Get Started
Welcome to Watchlog! Follow these steps to sign up, configure, and install the Agent on your environment:
1. Sign up for an account
Go to watchlog.io and click Sign Up. Fill in your details and verify your email to create your Watchlog account.
2. Copy API Key and Server URL
After logging in, navigate to Hosts and click an existing host or create a new one. Copy your API Key and note your Server URL from the host details page.
3. Install the Watchlog Agent
Ubuntu
sudo apiKey="<API-Key>" server="<Server>" bash -c "$(curl -L https://watchlog.io/ubuntu/watchlog-script.sh)"
Windows
$wl_apiKey="<API-Key>"
$wl_server="<Server>"
iwr https://watchlog.io/windows/install-watchlog.ps1 -OutFile "$env:TEMP\install-watchlog.ps1"
powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-watchlog.ps1" -apiKey $wl_apiKey -server $wl_server
Docker
First, create a Docker volume for persistent configuration:
docker volume create watchlog-agent-config
Then start the Agent container:
docker run -d \
--name watchlog-agent \
-p 3774:3774 \
-v watchlog-agent-config:/app/app/config \
-e WATCHLOG_APIKEY="<API-Key>" \
-e WATCHLOG_SERVER="<Server>" \
-e MONITOR_REDIS=false \
-e REDIS_HOST="127.0.0.1" \
-e REDIS_PORT="6379" \
-e REDIS_PASSWORD="" \
-e MONITOR_MONGODB=false \
-e MONGODB_HOST="127.0.0.1" \
-e MONGODB_PORT="27017" \
-e MONGODB_USERNAME="" \
-e MONGODB_PASSWORD="" \
-e MONITOR_NGINX=false \
-e NGINX_ACCESS_LOG="/var/log/nginx/access.log" \
-e MONITOR_MYSQL=false \
-e MYSQL_HOST="127.0.0.1" \
-e MYSQL_PORT="3306" \
-e MYSQL_USERNAME="root" \
-e MYSQL_PASSWORD="" \
-e MYSQL_DATABASES="" \
-e MONITOR_POSTGRESQL=false \
-e POSTGRESQL_HOST="127.0.0.1" \
-e POSTGRESQL_PORT="5432" \
-e POSTGRESQL_USERNAME="" \
-e POSTGRESQL_PASSWORD="" \
-e POSTGRESQL_DATABASES="" \
-e MONITOR_DOCKER=false \
-e LOG_WATCHLIST_JSON='[]' \
watchlog/agent:latest
Kubernetes
This agent will be deployed into the monitoring namespace.
Make sure the namespace exists by running:
kubectl create namespace monitoring
Save the following manifest as watchlog-node-agent.yaml
, then apply it with:
To deploy as a DaemonSet, save this manifest as watchlog-node-agent.yaml
and apply:
apiVersion: v1
kind: ServiceAccount
metadata:
name: watchlog-node-agent
namespace: monitoring
automountServiceAccountToken: true
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: watchlog-node-agent-role
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: watchlog-node-agent-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: watchlog-node-agent-role
subjects:
- kind: ServiceAccount
name: watchlog-node-agent
namespace: monitoring
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: watchlog-node-agent
namespace: monitoring
spec:
selector:
matchLabels:
app: watchlog-node-agent
template:
metadata:
labels:
app: watchlog-node-agent
spec:
serviceAccountName: watchlog-node-agent
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: agent
image: watchlog/watchlog-node-agent:latest
imagePullPolicy: Always
ports:
- containerPort: 3774
hostPort: 3774
env:
- name: WATCHLOG_APIKEY
value: "<API-Key>"
- name: WATCHLOG_SERVER
value: "<Server>"
# ... additional env vars as needed ...
tolerations:
- operator: Exists
volumes:
- name: docker-sock
hostPath:
path: /var/run/docker.sock
5. Verify Your Host Status
Return to the Hosts list. Within a minute, your host should appear Online with live metrics.
6. Explore Integrations & Alerts
Enable integrations like Nginx, MongoDB, Redis under Integrations, and set up thresholds in Alerts to get notified on critical events.
You’re all set! Navigate the sidebar for advanced guides on APM, Custom Dashboards, and more.