cURL
This example demonstrate the HTTP-API using the cURL command-line utility.
First, create a directory with restricted access for storing the session cookie safely.
mkdir -m 0700 ~/.mmonit
Fetch the zsessionid cookie and store it in our cookie store
curl -c ~/.mmonit/cookie \
http://127.0.0.1:8080/index.csp
Login with username and password (the zsessionid cookie is read from the file). We also add z_csrf_protection=off
as a parameter to turn CSRF-protection off for this session. Otherwise we would have to obtain and send a CSRF-token with every POST method when accessing /admin/* resources.
curl -b ~/.mmonit/cookie \
-d z_username=admin \
-d z_password=swordfish \
-d z_csrf_protection=off \
http://127.0.0.1:8080/z_security_check
After login, we can start querying for data. For instance, the host status list
curl -b ~/.mmonit/cookie \
http://127.0.0.1:8080/api/2/status/hosts/list
Logout (invalidate the given zsessionid cookie).
curl -b ~/.mmonit/cookie \
http://127.0.0.1:8080/api/2/session/invalidate
Note:
For simplicity, the login example above shows password used on the command line, in practice it is more secure to store credentials in a protected file which is used with the -d option to curl.
curl -b ~/.mmonit/cookie \
-d @/home/myusername/.mmonit/credentials \
http://127.0.0.1:8080/z_security_check