veeamhub / grafana Goto Github PK
View Code? Open in Web Editor NEWGrafana dashboard for Veeam solutions
License: MIT License
Grafana dashboard for Veeam solutions
License: MIT License
steps:
wget https://raw.githubusercontent.com/VeeamHub/grafana/master/veeam-availability-console-grafana/veeam-availability-console-script.sh
nano
##
InfluxDBURL="172.19.44.255"
InfluxDBPort="8086" #Default Port
InfluxDB="veeatelegraf2022" #Default Database
# Endpoint URL for login action
Username="USER"
Password="felipe"
RestServer="https://172.19.32.91"
RestPort="1281" #Default Port
##
chmod +x veeam-availability-console-script.sh
./veeam-availability-console-script.sh
or
wget https://raw.githubusercontent.com/jorgedlcruz/veeam-availability-console-grafana/master/veeam-availability-console-script.sh
nano
##
InfluxDBURL="172.19.44.255"
InfluxDBPort="8086" #Default Port
InfluxDB="veeatelegraf2022" #Default Database
InfluxDBUser="administrator" #User for Database
InfluxDBPassword="i-7enJEhB_5oDLxYZHNaWgtUkQM_so9sAX84PNIaM78v0EhACz7LOEBwnkkMMRi-cbHrOBslv1ICJKx2YbHYJg==" #Password for Database
# Endpoint URL for login action
Username="USER"
Password="felipe"
RestServer="172.19.32.91"
RestPort="1281" #Default Port
##
chmod +x veeam-availability-console-script.sh
./veeam-availability-console-script.sh
with same issue
root@ubuntu20portatil:~# ./veeam-availability-console-script.sh
./veeam-availability-console-script.sh: line 35: jq: command not found
./veeam-availability-console-script.sh: line 44: jq: command not found
./veeam-availability-console-script.sh: line 162: jq: command not found
./veeam-availability-console-script.sh: line 163: jq: command not found
./veeam-availability-console-script.sh: line 164: jq: command not found
./veeam-availability-console-script.sh: line 165: jq: command not found
./veeam-availability-console-script.sh: line 166: jq: command not found
./veeam-availability-console-script.sh: line 167: jq: command not found
./veeam-availability-console-script.sh: line 169: jq: command not found
./veeam-availability-console-script.sh: line 171: jq: command not found
./veeam-availability-console-script.sh: line 172: jq: command not found
./veeam-availability-console-script.sh: line 173: jq: command not found
./veeam-availability-console-script.sh: line 174: jq: command not found
./veeam-availability-console-script.sh: line 175: jq: command not found
./veeam-availability-console-script.sh: line 176: jq: command not found
./veeam-availability-console-script.sh: line 177: jq: command not found
./veeam-availability-console-script.sh: line 178: jq: command not found
./veeam-availability-console-script.sh: line 179: jq: command not found
./veeam-availability-console-script.sh: line 180: jq: command not found
./veeam-availability-console-script.sh: line 181: jq: command not found
./veeam-availability-console-script.sh: line 182: jq: command not found
HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: v2.5.1
X-Platform-Error-Code: unauthorized
Date: Wed, 09 Nov 2022 20:37:25 GMT
Content-Length: 48
{"code":"unauthorized","message":"Unauthorized"}
Planning on implemented Graafian to provide some more visibility into our backup Storage environment.
1st I want to say thank you for making this! Looks awesome and can't wait to get it all setup.
We will be adding several Repos here soon, but across multiple servers. Something like below.
PhySvr1 - Repo1 & 3
PhySvr2 - Repo2 & 4
Each Repo is 500tb or so. Do I just need to have multiple scrips for each of the ReFS Volumes? or is there a way to add multiple to the script so it runs once?
Is your feature request related to a problem? Please describe.
Actual scripts in https://github.com/VeeamHub/grafana/blob/master/veeam-availability-console-grafana/veeam-availability-console-script.sh is using api v2 from VSPC product version 6.0. v2 has been totally deactivated in VPSC 7.0, so the script is not usable as is.
Describe the solution you'd like
The script to be rewritten supporting v3 API.
Describe alternatives you've considered
At this time none. VSPC provides some metrics to be injected in InfluxDB but it does not monitor Cloud Connect infrastructure.
Additional context
Veeam provided documentation to migrate over v3 API : https://helpcenter.veeam.com/archive/vac/60/rest/appendix_migration_operations.html
I'm aware there is an awful lot of breaking changed thus requirement a huge amount of work, but I'm afraid there's no other way to monitor CC infra.
Thanks in advance,
Hi,
We managed to use dashboard "veeam-enterprise_manager-grafana" on our system, we follow all instructions but we didn't received data on dashboard.
Problem can be link to our version of Veeam ?
Actually our version of Veeam is : Backup & Replication 11
Describe the bug
Having an issue with either the script's formatting of the output or influxdb's handling of the input once it's passed off. VAC is next to latest 3.x patch, InfluxDB/Telegraf are at 1.7.9.
To Reproduce
Steps to reproduce the behavior:
Run script as normal
Expected behavior
Output handed off to InfluxDB/Telegraf without tag erros
Pastebin
https://pastebin.com/zFBmdUrx
Environment (please complete the following information):
VAC 3.x (second to latest available patch as of 11/14)
Debian 10 cli-only install
InfluxDB 1.7.9 (latest in repo for Debian)
Telagraf 1.12.x (latest in repo for Debian)
Grafana (latest in repo for Debian)
Description
I am using your veeam-enterprise_manager-grafana script.
In our veeam environment we have about 1000 protected VMs.
Everything is working well, except for this two "tasks/requests":
https://$veeamRestServer:$veeamRestPort/api/backupTaskSessions?format=Entity
https://$veeamRestServer:$veeamRestPort/api/replicaSessions?format=Entity
At both requests I get a list with all jobs and their current jobStatus.
Over this list you run a 'for' loop, for each job:
for JobSessionUid in $(echo "$veeamEMJobSessionsVMUrl" | jq -r '.BackupTaskSessions[].JobSessionUid'); do
...
done
The problem
With 1000 jobs this loop takes in my environment about 6-7hours for one of these two tasks, and the sysload15 is on 1,3 all the time
Environment on which the script runs (VM):
Intel i7 7920 4 Cores 3.10GHz
8GB RAM
Describe the solution you'd like
Is there a soloution to speed this 2 tasks up?
Import the json into grafana 7.01
Error message displayed "Panel plugin not found: grafana-worldmap-panel" and "Panel plugin not found: grafana-piechart-panel"
Tested on VB for Azure
Is your feature request related to a problem? Please describe.
The repository name for fast clone doesn't include the computer name. There may be occasions where someone will have multiple repositories. The same volume name (G:) may exist on multiple repositories. This change makes the repo name include the computer name, for easy visibility on the resulting dashboard.
Describe the solution you'd like
The repository name should include the computer name, in situations where there are multiple repository servers with the same repository name.
Describe alternatives you've considered
Instead of editing the dashboard and various other parts, I stuck to just including the computer name along with the repo name for easy visibility all around.
In the folder containing the veeam_enterprisemanager.sh
script, the README.md states:
InfluxDB 2.0 Note: If you're using InfluxDB 2.0, use the veeam_enterprisemanager_influx2.sh file instead.
However looking over the files in the directory and subdirectories, this script is no where to be found. Is it missing?
This is relevant to me because I am getting errors such as:
400 Bad RequestWriting veeam_em_overview_vms to InfluxDB
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Connection: close
400 Bad RequestWriting veeam_em_overview_jobs to InfluxDB
HTTP/1.1 400 Bad Request
Content-Type: text/plain; charset=utf-8
Connection: close
When attempting to use the veeam_enterprisemanager.sh script with InfluxDB 2.0.
Describe the bug
When processing the blockstats for a single file, an error occurs as more than one file is needed to gather information.
To Reproduce
Steps to reproduce the behavior:
Exception calling "Parse" with "1" argument(s): "Input string was not in a correct format."
Expected behavior
No errors should occur.
Additional context
Limited debugging statements are included, which made this a bit more tricky to track down.
Hi, first great work with all of your contributions to the community! These and other scripts are very helpful for collecting information about VMware and Veeam.
I have recently started to migrate to InfluxDB2 and buckets instead of databases, and I have seen that some of your other scripts are in two flavours, for InfluxDB 1.8 or 2.
Is there any plans to convert or make second variant for the VSPC-scripts to support InfluxDB2, buckets and API-tokens?
Or can I adapt the script to support InfluxDB2 my self? (Limited knowledge about curl).
Hi,
First off, thank you very much for all the work you have put into this project. I'm very excited about having all the dashboards up and running here in the office.
I have startet out with the m365 dashboard, but i run into some issues with getting data out of the RestAPI.
I should mention that i'm totally new to InfluxDB and Grafana. This is the first time in my life using it. But i managed to get InfluxDB 2.1.1 up and running, and Grafana on a CentOS 7 VM. (Grafana was the easy part :) )
I have downloaded the M365 dashboard for grafana and imported it, and i have downloaded the veeam_micrososoft365.sh script and edited the configuration section to match my real info.
This seems to work well and when i run the script i get "some" data transferred to Influx and i can view the data in Grafana.
But while running the script i get some "errors" and i believe that is why not all fields in the dashboard are populated.
For example i get no info on Licensed users and no Job information either.
Information on new users count is there and also information on Self-service Portal Restore operators. Also i get information on storage usage in object storage.
I will try and paste the error i see when i run the script. I will not paste it all, as i have rather many users who all get the same error.
But here is an example of the errors:
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: 2.1.1
X-Platform-Error-Code: invalid
Date: Thu, 31 Mar 2022 11:04:09 GMT
Content-Length: 209
{"code":"invalid","message":"unable to parse 'veeam_office365_overview_OD,veeamOrgName=ateaitos.onmicrosoft.com,veeamUserName=**I Removed Mail address** protectedUser=1,licensedUser=': missing field value"}HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: 2.1.1
X-Platform-Error-Code: invalid
Date: Thu, 31 Mar 2022 11:04:09 GMT
Content-Length: 209
{"code":"invalid","message":"unable to parse 'veeam_office365_overview_OD,veeamOrgName=ateaitos.onmicrosoft.com,veeamUserName=**Removed Mail address** protectedUser=1,licensedUser=': missing field value"}HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: 2.1.1
X-Platform-Error-Code: invalid
Date: Thu, 31 Mar 2022 11:04:09 GMT
Content-Length: 210
Any idea what could be the issue here?
Thank you very much in advance.
i have this enviroment
Windows 10 pro without password
https://gamemax:9419/swagger/ui/index.html, this one solves
wich will be an example of sh script for edit?
Describe the bug
Running the veeam-availability-console-script.sh script as exists errors out with 400 Bad Request errors.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
In the blog it states I should see success messages.
Errors
HTTP/1.1 400 Bad Request
Content-Type: application/json
Request-Id: 20c738b7-4f66-11ea-83de-005056b73015
X-Influxdb-Build: OSS
X-Influxdb-Error: unable to parse 'veeam_vac_vcclicense,edition=,status=,type=,contactPerson=,backupServerName=,companyName= licenseExpirationDate=1581663600,supportExpirationDate=1581663600,licensedCloudConnectBackups=,usedCloudConnectBackups=,licensedCloudConnectReplicas=,usedCloudConnectReplicas=,licensedCloudConnectServers=,usedCloudConnectServers=,licensedCloudConnectWorkstations=,usedCloudConnectWorkstations=': missing tag value
X-Influxdb-Version: 1.7.10
X-Request-Id: 20c738b7-4f66-11ea-83de-005056b73015
Date: Fri, 14 Feb 2020 20:11:04 GMT
Content-Length: 433
Versions
InfluxDB: 1.7.10
VAC:
Server Version 3.0.0.2795
Web UI Version 3.0.0.2795
Grafana: 6.6.1
Describe the bug
I am following the instructions at Looking for the Perfect Dashboard: InfluxDB, Telegraf and Grafana – Part XIV – Veeam Availability Console
Error message from command line when executing the veeam-availability-console-script.sh:
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: v2.2.0
X-Platform-Error-Code: invalid
Date: Mon, 19 Dec 2022 11:39:43 GMT
Content-Length: 451
{"code":"invalid","message":"unable to parse 'veeam_vac_vcclicense,edition=,status=,type=,contactPerson=,backupServerName=,companyName= licenseExpirationDate=(censored),supportExpirationDate=(censored),licensedCloudConnectBackups=,usedCloudConnectBackups=,licensedCloudConnectReplicas=,usedCloudConnectReplicas=,licensedCloudConnectServers=,usedCloudConnectServers=,licensedCloudConnectWorkstations=,usedCloudConnectWorkstations=': missing tag value"}
Steps to get there
My Veeam Service Provider Console v2 API:
wget https://raw.githubusercontent.com/jorgedlcruz/veeam-availability-console-grafana/master/veeam-availability-console-script.sh
vim veeam-availability-console-script.sh
##
# Configurations
##
# Endpoint URL for InfluxDB
InfluxDBURL="192.168.178.11"
InfluxDBPort="8086" #Default Port
InfluxDB="mybucket" #Default Database
InfluxDBUser="myuser" #User for Database
InfluxDBPassword="mypassword" #Password for Database
# Endpoint URL for login action
Username="VSPCuser"
Password="VSPCpassword"
RestServer="vspc.myhome.lan"
RestPort="1281" #Default Port
:wq
sudo chmod +x veeam-availability-console-script.sh
./veeam-availability-console-script.sh
Expected behavior
It should look like this, according to the blog:
HTTP/1.1 204 No Content
Content-Type: application/json
Request-Id: 3565d5b6-011d-11e9-81c7-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.6.3
X-Request-Id: 3565d5b6-011d-11e9-81c7-000000000000
Date: Sun, 16 Dec 2018 10:27:37 GM
Describe the bug
I am partially following the instructions from Looking for the Perfect Dashboard: InfluxDB, Telegraf and Grafana – Part XIV – Veeam Availability Console using the veeam-availability-console-script.sh script from VeeamHub.
With the config like this:
##
# Configurations
##
# Endpoint URL for InfluxDB
InfluxDBURL="192.168.178.11"
InfluxDBPort="8086" #Default Port
InfluxDB="mybucket" #Default Database
# Endpoint URL for login action
Username="domain\\myuser"
Password="mypassword"
RestServer="https://vspc.myhome.lan"
RestPort="1281" #Default Port
The console is giving me this:
=================================
Retrieving licenses per tenant...
=========================================
Retreiving other licenses....
HTTP/1.1 401 Unauthorized
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: v2.2.0
X-Platform-Error-Code: unauthorized
Date: Tue, 10 Jan 2023 12:57:57 GMT
Content-Length: 55
{"code":"unauthorized","message":"unauthorized access"}
I am aware that this console output is the result of the script not being able to log into the influxdb, and therefore not being able to write data into it.
However, it is not clear to me how I can solve this, as the script does not provide a solution or create a variable for username and password, or an authentication token.
When I edit the file, so that an authentication is sent on the CURL post like this:
InfluxDBUser="myuser" #User for Database
InfluxDBPassword="mypassword" #Password for Database
[...]
curl -i -XPOST "http://$InfluxDBURL:$InfluxDBPort/write?precision=s&db=$InfluxDB" -u "$InfluxDBUser:$InfluxDBPassword" --data-binary "veeam_vac_tenant,companyName=$TenantName,enabled=$TenantEnabled,expirationEnabled=$TenantexpirationEnabled,bandwidthThrottlingEnabled=$TenantbandwidthThrottlingEnabled expirationDate=$TenantexpirationDateUnix,maxConcurrentTasks=$TenantmaxConcurrentTasks,allowedBandwidth=$TenantallowedBandwidth,vMsBackedUp=$TenantvMsBackedUp,vMsReplicated=$TenantvMsReplicated,vMsBackedUpToCloud=$TenantvMsBackedUpToCloud,managedPhysicalWorkstations=$TenantmanagedPhysicalWorkstations,managedCloudWorkstations=$TenantmanagedCloudWorkstations,managedPhysicalServers=$TenantmanagedPhysicalServers,managedCloudServers=$TenantmanagedCloudServers"
I am getting the same error as above:
=================================
Retrieving licenses per tenant...
=========================================
Retreiving other licenses....
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
X-Influxdb-Build: OSS
X-Influxdb-Version: v2.2.0
X-Platform-Error-Code: invalid
Date: Tue, 10 Jan 2023 14:18:48 GMT
Content-Length: 451
{"code":"invalid","message":"unable to parse 'veeam_vac_vcclicense,edition=,status=,type=,contactPerson=,backupServerName=,companyName= licenseExpirationDate=1673305200,supportExpirationDate=1673305200,licensedCloudConnectBackups=,usedCloudConnectBackups=,licensedCloudConnectReplicas=,usedCloudConnectReplicas=,licensedCloudConnectServers=,usedCloudConnectServers=,licensedCloudConnectWorkstations=,usedCloudConnectWorkstations=': missing tag value"}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.