A CactiDataInput is a script stored on the server Cacti runs on, which outputs some information onto standard out when it is executed.
Important things to consider when writing scripts for this purpose:
Go to the data input page in cacti, and click 'add'.
There are three fields at first: Name, Input String and Output String
Name is verbose name, used for user recognition. Be verbose, include spaces, etc. 'Get LM Sensors' is an example.
This says to run perl with the script at <path_cacti>/scripts/check_sensors.pl (<path_cacti> is automatically expanded). Note that if you need to provide command line arguments to your scripts, you can specify them here too, eg
perl <path_cacti>/scripts/check_smart.pl <disk>
We will talk more about input strings later.
We'll talk more about these later.
For each of the Input and Output fields you entered, (eg, <disk>, <fan1> etc), you need to add a Data Input Source Field.
The format of these is very simple:
Name is a verbose name
Data Name is the name of the data field you are creating this for (eg, <disk>, <fan1> etc)
Input/Output specifies just that.
Update RRA should be checked for all output fields, and one input field (I think?)
Once this is complete, press Save
This is just a Data Input mechanism. This isn't actually a Data Source. To actually have cacti retrieving data you need to add a CactiDataSource? next
One page links to CactiDataInput: