4 KiB
PastafariStats, a simple collector for basic stats.
Installation
You can install PastafariStats with its command.
pip3 install git+https://bitbucket.org/paramecio/pastafaristats
Add systemd service
If your linux distro use systemd, you can initialize the script with this systemd unit
# Save it in /etc/systemd/system/pastafaristats.service
[Unit]
Description=Pastafari Stats
After=syslog.target
After=network.target
[Service]
Type=simple
User=pzoo
Group=pzoo
ExecStart=/path/to/pastafaristats
Restart=always
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target
Configuration
You can configure the script placing a config file in /etc/pastafari/stats.cfg
[DEFAULT]
url_server=http://url_server_collect_data/
group=server-group
Where url_server_collect_data is the hostname of server collecting data, api_key_selected, the api key of server for accept the data, and ip_server, the ip of the server that send the data.
Group: A server can belong to group. If you have a servers in a network, you can group them with the same group name.
Configuration for Windows 10, Windows Server 2012, etc.
Windows sucks, but you can need monitoring windows servers or desktops.
First, install python 3 (last stable version if you can, actually python 3.9). You can download from here
Important
You must install python with "Add python.exe to windows path" enabled.
You need install git. You should install it in Windows path too.
You can install PastafariStats with its command how in Linux/*nix.
git clone https://bitbucket.org/paramecio/pastafaristats
If you are in C:\Users\my_user directory, pastafaristats will be download in C:\Users\my_user\pastafaristats
Next, you need create the config file. For example, if you have an user called "my_user", you can install configuration file in C:/Users/my_user/config/stats.cfg with the same contents how in Linux.
[DEFAULT]
url_server=http://url_server_collect_data/
group=server-group
Now, you need install the python script how service. You can use a classic manager services for windows called NSSM. If you use Windows 10 64 bits, you can download from here
Now, you can execute this command:
nssm install MonitService
A GUI will be showed with many options. Basic options in Application block are:
- Path: C:\Users\my_user\AppData\Local\Programs\Python\Python39\python.exe
Here you should set the python executable path.
- Startup: C:\Users\my_user\pastafaristats\pastafaristats\
Here you should set the pastafaristats real directory.
- Arguments: C:\Users\developer\pastafaristats\pastafaristats\send_info_daemon.py --config=C:\Users\my_user\config\stats.cfg
Here you shoud set the argumentos. send_info_daemon.py is the daemon that send the data to the server, --config is an option for define where config file stay.
There other options how I/O where you can define a file log for check errors if you have problems with the service.
All's done!, you can init your service with nssm start MonitService and let's go.
Developing plugins.
You can add simple python scripts how plugins for add new collections to your data.
The python scripts need have the next structure:
def stat(obj_stats):
obj_stats['test_data']={'pos': 0}
return obj_stats
You define a function with name stat and arguments obj_stats
obj_stats is a python dictionary. You can add new data or manipulate original collected data for your own proposites. The function returns obj_stats modified.
Next, you need modify your configuration with this line:
[DEFAULT]
url_server=http://url_server_collect_data/
group=server-group
modules=path.to.script, path.to.script2
"path.to.script" is the python script path for import it into pastafaristats. You can use many scripts, but if you need many stats, is recommendable use stats collectors how collectd, netdata, etc.