This article takes a data center server monitoring scenario as an example, showing how to easily collect system monitoring metrics—such as CPU, memory, disk, and network usage—using the open-source lightweight tool Telegraf, write the data into the TDengine TSDB time-series database, and then, through TDengine IDMP, use AI to automatically generate visual dashboards and real-time analytics. This enables you to build a stable, efficient server monitoring solution in just a few minutes.

Prerequisites
- TDengine Cloud instance – If you don’t have an available TDengine Cloud instance, you can register for free.
- A server to be monitored – In this example, the server has the following physical details:
- Location:
IDC01
- Rack number:
RACK02
- Slot number:
SLOT03
- IP address:
192.168.1.123
- Location:
Create an IDMP Cloud Instance
- Log in to TDengine Cloud with your account. In the pop-up TDengine instance selection window, choose IDMP (Industrial Data Management Platform).
- On the instance configuration page, set up the information and pricing plans for both the IDMP instance and the TSDB instance:
- IDMP (Industrial Data Management Platform)
- Instance name:
telegraf-idmp
- Pricing plan: IDMP – Starter Edition
- Instance name:
- TSDB (Time-Series Database)
- Instance name:
telegraf-tsdb
- Pricing plan: Starter Edition
- Instance name:
- IDMP (Industrial Data Management Platform)
- Once the IDMP instance is running, select a scenario to load sample data and enter the IDMP Cloud Service main page.
Note: TDengine IDMP uses TDengine TSDB as its default data source. During the creation of the IDMP Cloud Service instance, a connection to the above TSDB is automatically created.
Create a Database in the TSDB Cloud Instance
- After entering the main page of the IDMP Cloud instance, click the Admin Console option from the dropdown menu in the top right corner.
- On the Admin Console page, click Cloud Resource Management to open the cloud resource management page.
- In the instance list, note down the URL and Token for the TDengine TSDB instance—these will be needed later when configuring Telegraf.
- In the instance list, locate the
telegraf-tsdb
instance and click Cloud TSDB to go to the TSDB Cloud Service page. - In the left-hand menu, click Explorer, and on the Explorer page, click Create Database.
- Set the database name to
telegraf
and complete the database creation.
Install and Configure Telegraf
On the monitored server, run the following commands to install Telegraf:
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update
sudo apt-get install telegraf
Run the following command to generate the Telegraf configuration file:
cat << EOF | sudo tee /etc/telegraf/telegraf.conf
[global_tags]
location = "IDC01"
rack_num = "RACK02"
slot_num = "SLOT03"
ip_address = "192_168_1_123"
servers = "IDC01.RACK02"
[agent]
interval = "10s"
metric_batch_size = 1000
metric_buffer_limit = 10000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
[[inputs.cpu]]
name_override = "server_cpu"
percpu = false
totalcpu = true
[inputs.cpu.tags]
metric_tag = "SLOT03_cpu"
[[inputs.mem]]
name_override = "server_memory"
fieldpass = ["used_percent", "available", "total", "used", "cached", "free"]
[inputs.mem.tags]
metric_tag = "SLOT03_memory"
[[inputs.disk]]
name_override = "server_disk"
fieldpass = ["used_percent", "available", "total", "used", "cached", "free"]
[inputs.disk.tags]
metric_tag = "SLOT03_disk"
[[inputs.nstat]]
name_override = "server_network"
fieldpass = ["TcpInSegs", "TcpOutSegs", "TcpRetransSegs", "UdpInDatagrams", "UdpOutDatagrams"]
[inputs.nstat.tags]
metric_tag = "SLOT03_network"
[[inputs.processes]]
name_override = "server_processes"
fieldpass = ["total", "running", "sleeping", "stopped", "zombies"]
[inputs.processes.tags]
metric_tag = "SLOT03_processes"
[[inputs.system]]
name_override = "server_system"
fieldpass = ["load1", "load5", "load15", "uptime", "n_cpus", "n_users"]
[inputs.system.tags]
metric_tag = "SLOT03_system"
[[outputs.http]]
url = "https://<gateway-url>/influxdb/v1/write?db=telegraf&token=<gateway-token>&table_name_key=metric_tag"
method = "POST"
timeout = "5s"
data_format = "influx"
[outputs.http.headers]
Content-Type = "application/x-www-form-urlencoded"
EOF
Notes:
- In the
global_tags
section, the server’s basic info is configured. Thepath
tag identifies the element path—for example, settingIDC01.RACK02
will be expanded in IDMP’s Element Explorer as a tree:IDC01 → RACK02
. - In the
agent
section, you configure Telegraf’s collection interval and related settings. - In the inputs section, CPU, memory, disk, etc. monitoring is enabled. Each metric is assigned a
metric_tag
that must be unique. Here we use slot number + metric name. Combined with thepath
fromglobal_tags
, this uniquely identifies a specific metric on a specific server. - In the outputs section, metrics are written to TDengine TSDB via taosAdapter:
- Each input metric type is written into a supertable.
- In the
url
,db
should be the database created in section 3.2:telegraf
. - Replace
<gateway-url>
and<gateway-token>
with the Gateway URL and token recorded in section 3.2 for your TDengine TSDB instance. - Set
table_name_key=metric_tag
to usemetric_tag
as the subtable name; this tag will not be stored as a label when writing to TSDB.
Start Telegraf
After completing the configuration, start Telegraf with:
sudo systemctl start telegraf
Check the status of the Telegraf service with:
sudo systemctl status telegraf
If the service status shows active (running), Telegraf has started successfully.
If you want to monitor multiple physical or virtual machines, simply repeat the above steps for each one.
Load Metrics Data into IDMP
Follow these steps to load data from TDengine TSDB into TDengine IDMP so you can create dashboards and analytics:
- Log in to your IDMP instance and locate the telegraf-tsdb connection in the Admin Console.
- On the telegraf-tsdb connection page, click Data Import from the navigation bar at the top.
- In the data import configuration page, select the telegraf database.
- For each supertable, check the Tags settings and choose the path column as the Tree for that table.
- Click Finish and wait for the data import task to complete.
View Element Information
The server monitoring metrics imported into TDengine IDMP will be displayed in a hierarchical tree structure, allowing you to expand them step-by-step according to physical information for easier navigation:
- Once you see the prompt indicating the import is complete, click Explorer in the main menu to go to the Explorer page.
- In the resource browser on the left, IDMP will automatically organize the server’s monitoring metrics into a tree structure based on the server’s physical information.
- Expand the hierarchy step-by-step:
path → IDC01 → RACK02 → SLOT03_cpu
. - Using the path navigation menu at the top, select Attributes to view the CPU resource metrics for the physical server in slot
SLOT03
stored in TDengine TSDB.
Try AI-Generated Dashboards
- In the sidebar on the left, click the element
path → IDC01 → RACK02 → SLOT03_cpu
to go to its panels page. - Wait for the AI to generate panel recommendations. Choose one based on your needs—for example: Trend of CPU idle utilization (usage_idle) per minute over the past hour, displayed as a line chart.
- In the top-right menu of the panel you’re interested in, click Generate.
- Once the panel is generated, click Save in the bottom-right corner of the panel. The panel will then appear in the list of panels under the
SLOT03_cpu
element. - On the panel details page, you can also view the SQL statement that the AI used to create the dashboard.
Try AI Analytics
- In the resource browser on the left, click the element
path → IDC01 → RACK02 → SLOT03_cpu
. - Using the path navigation menu at the top, select Analyses to go to the real-time analysis page for this element.
- Wait for the AI to generate recommended real-time analysis tasks. Choose one based on your needs—for example: When
physical_cpu:SLOT03_cpu
real-timeusage_system
exceeds 80% for more than 10 minutes, trigger a standard alert, calculate the averageusage_system
, using an event window. - Click the link for the real-time analysis task you’re interested in to open the editor page, then click Save at the bottom.
- Return to the analyses list to view the saved real-time analysis task.
Summary
In this solution, the combination of TDengine TSDB and TDengine IDMP delivers four major benefits:
- Effortless data ingestion – TDengine IDMP is seamlessly integrated with TDengine TSDB. Once monitoring data is written into TSDB, it can be quickly imported into IDMP and displayed in a tree structure, giving you a clear view of all monitored physical and virtual machines at a glance.
- Autonomous insight delivery – No configuration in TDengine, no scripts, no queries needed. Based on the collected data, IDMP automatically identifies the IT monitoring scenario and recommends dashboards and real-time alerts, keeping the server’s operational status fully under control.
- Natural language analytics – No SQL or scripting required. Simply describe the data analysis or monitoring dashboard you’re interested in using natural language, and IDMP will create it for you—reducing the barrier to data visualization and analytics to zero.
- Automatic onboarding of new servers – When a new server needs to be monitored, just configure Telegraf. No additional setup or actions are needed in TDengine; the server will be automatically added to the monitoring scope, saving substantial manpower.