Industrial Monitoring Dashboards with Grafana: From Sensor to Screen
Every factory has dashboards — but most are either proprietary SCADA screens locked to a specific vendor, or spreadsheet-based reports that are outdated before they reach the plant manager. Grafana, the open-source observability platform that dominates the DevOps world, is quietly becoming the standard for industrial monitoring dashboards. It is free, it runs on anything, it connects to every data source imaginable, and its visualization capabilities are unmatched. This post explains how we use Grafana to build real-time industrial dashboards that operators actually want to use.
Why Grafana for Industrial?
Grafana was designed for time-series data visualization — and that is exactly what industrial monitoring produces. Temperature readings every second, vibration waveforms at 10kHz, production counts every minute, energy consumption aggregated hourly. Grafana connects natively to InfluxDB, Prometheus, TimescaleDB, and MQTT — all databases and protocols that are standard in industrial IoT. It supports real-time streaming dashboards with auto-refresh intervals as low as one second. And its alerting engine can trigger notifications based on threshold, anomaly, or trend conditions across any data source.
The Data Pipeline
A typical industrial Grafana stack has three layers. The data acquisition layer collects signals from PLCs, sensors, and edge gateways using OPC UA, Modbus, or MQTT. The storage layer uses a time-series database — InfluxDB for high-frequency sensor data, TimescaleDB for relational queries on production data, or Prometheus for metrics from containerized edge applications. The visualization layer is Grafana, which queries these databases and renders dashboards. The critical design decision is choosing the right database for each data type. High-frequency vibration data (kHz sampling) belongs in InfluxDB with automatic downsampling. Production counts and OEE calculations belong in TimescaleDB with SQL query capability. System health metrics from edge gateways belong in Prometheus.
Dashboard Design for Operators
The biggest mistake in industrial dashboard design is building screens that look impressive but are useless for operators. An operator needs to answer three questions in under five seconds: Is the process running normally? Which area has a problem? What should I do about it? Effective industrial dashboards use a hierarchical structure. The top level shows the overall plant status — green/yellow/red for each production line. Clicking a line drills down to individual machines. Clicking a machine shows detailed process variables, trends, and alarms. Color coding is consistent across all levels: green for normal, yellow for warning, red for alarm. No rainbow color schemes, no 3D charts, no gauges that look cool but convey no useful information.
Real-Time vs. Historical Views
Grafana excels at both real-time and historical visualization, but they serve different audiences. Real-time dashboards (1-5 second refresh) are for operators on the floor. They show current values, active alarms, and short-term trends (last 1-4 hours). Historical dashboards (manual time range selection) are for engineers and managers. They show production trends over weeks, energy consumption patterns, OEE calculations, and maintenance history. The key is to keep these as separate dashboards, not cram everything into one screen. An operator does not need to see last month's energy consumption while monitoring a live process.
Alerting That Works
Grafana's built-in alerting is powerful, but it needs careful configuration for industrial use. The biggest pitfall is alert fatigue — if every minor fluctuation triggers a notification, operators will ignore all alerts. The solution is multi-tier alerting. First, use Grafana's threshold alerting for critical process limits (high temperature, low pressure, vibration exceeding ISO 10816 thresholds). These trigger immediate notifications via SMS or push notification. Second, use trend-based alerting for early warning — a gradual increase in motor current over several days indicates bearing wear, even though it has not crossed an absolute threshold. Third, route all alerts through a notification policy that deduplicates, groups by severity, and enforces quiet hours for non-critical alerts.
Integration with Industrial Protocols
Grafana does not speak OPC UA or Modbus natively — it speaks SQL, InfluxQL, PromQL, and MQTT. The bridge between industrial protocols and Grafana's data sources is the data pipeline. We use Telegraf (the open-source data collector from InfluxData) as the protocol bridge. Telegraf has plugins for OPC UA, Modbus TCP/RTU, MQTT, and dozens of other industrial protocols. It polls PLCs, converts the data to InfluxDB line protocol, and writes it to the time-series database. Grafana then queries the database. This architecture decouples the visualization layer from the data acquisition layer, so changing a PLC vendor or adding a new sensor does not require touching the dashboards.
Deployment and Access Control
- Run Grafana on a dedicated VM or container — not on the same machine as your SCADA server.
- Use LDAP or Active Directory integration for authentication — do not create separate Grafana accounts.
- Set up organization-level dashboards: operators see production dashboards, engineers see detailed diagnostics, managers see KPI summaries.
- Enable anonymous access for kiosk displays on the factory floor — but only for read-only dashboards.
- Use Grafana's provisioning system (JSON or YAML files) to version-control your dashboards in Git.
- Back up the Grafana database (SQLite or PostgreSQL) daily — losing dashboards is more painful than losing data.
Grafana is not a replacement for SCADA — it is a complement. SCADA handles control and alarm management. Grafana handles visualization, analysis, and reporting. Together, they provide a complete monitoring stack that is flexible, cost-effective, and loved by both operators and engineers. If you are still building industrial dashboards in proprietary tools that lock you into a single vendor, it is time to look at Grafana.