A short note for setting up MSSQL monitoring using Prometheus and Prometheus MSSQL Exporter.
First, create a new database user.
CREATE LOGIN MSSQLExporter WITH PASSWORD = ‘<PASSWORD>’;
CREATE USER MSSQLExporter FOR LOGIN MSSQLExporter;
GRANT VIEW ANY DEFINITION TO MSSQLExporter;
GRANT VIEW SERVER STATE TO MSSQLExporter;
Then, create a deployment manifest.
# mssql-exporter.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mssql-exporter
labels:
app.kubernetes.io/name: mssql-exporter
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: mssql-exporter
template:
metadata:
labels:
app.kubernetes.io/name: mssql-exporter
spec:
containers:
- name: mssql-exporter
image: awaragi/prometheus-mssql-exporter:v1.3.0
ports:
- containerPort: 4000
env:
- name: USERNAME
value: "MSSQLExporter"
- name: PASSWORD
valueFrom:
secretKeyRef:
name: mssql-exporter
key: MSSQL_EXPORTER_PASSWORD
- name: SERVER
value: mssql.example.local
- name: PORT
value: "1433"
---
apiVersion: v1
kind: Service
metadata:
name: mssql-exporter
labels:
app.kubernetes.io/name: mssql-exporter
spec:
type: ClusterIP
ports:
- port: 4000
targetPort: 4000
protocol: TCP
selector:
app.kubernetes.io/name: mssql-exporter
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: mssql-exporter
labels:
app.kubernetes.io/name: mssql-exporter
spec:
endpoints:
- targetPort: 4000
namespaceSelector:
matchNames:
- mssql
selector:
matchLabels:
app.kubernetes.io/name: mssql-exporter
Finally, apply.
kubectl apply -f mssql-exporter.yaml
Top comments (0)