Add zabbix, influx regex, openssl

Pre add: ansible, winrm config, bit convertor, openssh, hyper-v, pki
This commit is contained in:
Alex Kup 2023-08-03 11:35:06 +03:00 committed by GitHub
parent e8eae9dfa0
commit 06ef711930
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -53,8 +53,8 @@
- [Performance](#performance) - [Performance](#performance)
- [SNMP](#snmp) - [SNMP](#snmp)
- [Zabbix](#zabbix) - [Zabbix](#zabbix)
# [pki](#pki) - [pki](#pki)
# [OpenSSL](#openssl) - [OpenSSL](#openssl)
- [OpenSSH](#openssh) - [OpenSSH](#openssh)
- [WinRM](#winrm) - [WinRM](#winrm)
- [pki](#pki) - [pki](#pki)
@ -3861,6 +3861,7 @@ API Token: `wqsqOIR3d-PYmiJQYir4sX_NjtKKyh8ZWbfX1ZlfEEpAH3Z2ylcHx3XZzUA36XO3HIos
`influx --host 192.168.3.104 --username admin --password password` `influx --host 192.168.3.104 --username admin --password password`
### USERS ### USERS
`SHOW USERS` отобразить пользователей и их права доступа \ `SHOW USERS` отобразить пользователей и их права доступа \
`CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES` создать пользователя \ `CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES` создать пользователя \
`GRANT ALL PRIVILEGES TO "admin"` предоставить права доступа \ `GRANT ALL PRIVILEGES TO "admin"` предоставить права доступа \
@ -3871,6 +3872,7 @@ API Token: `wqsqOIR3d-PYmiJQYir4sX_NjtKKyh8ZWbfX1ZlfEEpAH3Z2ylcHx3XZzUA36XO3HIos
`DROP USER "admin"` удалить пользователя `DROP USER "admin"` удалить пользователя
### DATABASE ### DATABASE
`CREATE DATABASE powershell` создать БД \ `CREATE DATABASE powershell` создать БД \
`SHOW DATABASES` отобразить список БД \ `SHOW DATABASES` отобразить список БД \
`DROP DATABASE powershell` удалить БД \ `DROP DATABASE powershell` удалить БД \
@ -3879,6 +3881,7 @@ API Token: `wqsqOIR3d-PYmiJQYir4sX_NjtKKyh8ZWbfX1ZlfEEpAH3Z2ylcHx3XZzUA36XO3HIos
`INSERT performance,host=console,counter=CPU value=0.88` записать данные в таблицу performance `INSERT performance,host=console,counter=CPU value=0.88` записать данные в таблицу performance
### SELECT/WHERE ### SELECT/WHERE
`SELECT * FROM performance` отобразить все данные в таблице \ `SELECT * FROM performance` отобразить все данные в таблице \
`SELECT value FROM performance` отфильтровать по столбцу value (только Field Keys) \ `SELECT value FROM performance` отфильтровать по столбцу value (только Field Keys) \
`SELECT * FROM performance limit 10` отобразить 10 единиц данных \ `SELECT * FROM performance limit 10` отобразить 10 единиц данных \
@ -3890,16 +3893,19 @@ API Token: `wqsqOIR3d-PYmiJQYir4sX_NjtKKyh8ZWbfX1ZlfEEpAH3Z2ylcHx3XZzUA36XO3HIos
`DELETE FROM performance WHERE time < now() -24h` удалить данные старше 24 часов `DELETE FROM performance WHERE time < now() -24h` удалить данные старше 24 часов
### REGEX ### REGEX
`SELECT * FROM "performance" WHERE host =~ /.*-Pro/` приблизительно равно любое значение и на конце -Pro \ `SELECT * FROM "performance" WHERE host =~ /.*-Pro/` приблизительно равно любое значение и на конце -Pro \
`SELECT * FROM "win_pdisk" WHERE instance =~/.*C:/ and time > now() - 5m` и \ `SELECT * FROM "win_pdisk" WHERE instance =~/.*C:/ and time > now() - 5m` и \
`SELECT * FROM "win_pdisk" WHERE instance =~/.*E:/ or instance =~ /.*F:/` или \ `SELECT * FROM "win_pdisk" WHERE instance =~/.*E:/ or instance =~ /.*F:/` или \
`SELECT * FROM "win_pdisk" WHERE instance !~ /.*Total/` не равно (исключить) \ `SELECT * FROM "win_pdisk" WHERE instance !~ /.*Total/` не равно (исключить) \
### GROUP BY tag_key ### GROUP BY tag_key
`SELECT * FROM "win_pdisk" WHERE instance !~ /.*Total/ and instance !~/.*C:/ GROUP BY instance` группировать результаты по тегу `SELECT * FROM "win_pdisk" WHERE instance !~ /.*Total/ and instance !~/.*C:/ GROUP BY instance` группировать результаты по тегу
### Functions(field_key) ### Functions(field_key)
https://docs.influxdata.com/influxdb/v1.8/query_language/functions/ \ https://docs.influxdata.com/influxdb/v1.8/query_language/functions/ \
`SELECT instance,LAST(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод по последнему/текущему значению \ `SELECT instance,LAST(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод по последнему/текущему значению \
`SELECT instance,FIRST(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод по первому значению за весь или указанный отрезок времени \ `SELECT instance,FIRST(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод по первому значению за весь или указанный отрезок времени \
`SELECT instance,MIN(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод с отображением минимального значения \ `SELECT instance,MIN(Avg._Disk_Read_Queue_Length) FROM "win_pdisk" GROUP BY instance` отфильтровать вывод с отображением минимального значения \
@ -3909,6 +3915,7 @@ https://docs.influxdata.com/influxdb/v1.8/query_language/functions/ \
`SELECT MEAN(Bytes_Received_persec) FROM "win_net" WHERE Bytes_Received_persec < 1000 GROUP BY instance` среднее значение данных с показателем от 0 до 1000 (509) `SELECT MEAN(Bytes_Received_persec) FROM "win_net" WHERE Bytes_Received_persec < 1000 GROUP BY instance` среднее значение данных с показателем от 0 до 1000 (509)
### POLICY ### POLICY
`CREATE DATABASE powershell WITH DURATION 48h REPLICATION 1 NAME "del2d"` создать БД с политикой хранения 2 дня \ `CREATE DATABASE powershell WITH DURATION 48h REPLICATION 1 NAME "del2d"` создать БД с политикой хранения 2 дня \
`CREATE RETENTION POLICY del2h ON powershell DURATION 2h REPLICATION 1` создать новую политику хранения для БД \ `CREATE RETENTION POLICY del2h ON powershell DURATION 2h REPLICATION 1` создать новую политику хранения для БД \
`CREATE RETENTION POLICY del6h ON powershell DURATION 6h REPLICATION 1 SHARD DURATION 2h` указать период хранения 6 часов + 2 часа до очистки (по умолчанию 1ч или больше) \ `CREATE RETENTION POLICY del6h ON powershell DURATION 6h REPLICATION 1 SHARD DURATION 2h` указать период хранения 6 часов + 2 часа до очистки (по умолчанию 1ч или больше) \
@ -3957,7 +3964,7 @@ $data.results.series.name # имя таблицы
$data.results.series.columns # столбцы/ключи $data.results.series.columns # столбцы/ключи
$data.results.series.values # данные построчно $data.results.series.values # данные построчно
``` ```
### Endpoint ### Endpoints
https://docs.influxdata.com/influxdb/v1.7/tools/api/ https://docs.influxdata.com/influxdb/v1.7/tools/api/
``` ```
$stats = irm http://192.168.3.104:8086/debug/vars # статистика сервера $stats = irm http://192.168.3.104:8086/debug/vars # статистика сервера
@ -4410,7 +4417,7 @@ Get-Service *Zabbix*Agent* | Start-Service # запустить службу
### zabbix_sender ### zabbix_sender
Создать host - задать произвольное имя (powershell-host) и добавить в группу \ Создать host - задать произвольное имя (powershell-host) и добавить в группу \
Создать Items \ Создать Items: \
Name: Service Count \ Name: Service Count \
Type: Zabbix trapper \ Type: Zabbix trapper \
Key: service.count \ Key: service.count \
@ -4434,13 +4441,13 @@ $scount = (Get-Service).Count
### UserParameter ### UserParameter
`UserParameter=process.count,powershell -Command "(Get-Process).Count" \ `UserParameter=process.count,powershell -Command "(Get-Process).Count"` \
`UserParameter=process.vm[*],powershell -Command "(Get-Process $1).ws" `UserParameter=process.vm[*],powershell -Command "(Get-Process $1).ws"`
Test: \ Test: \
`C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.count \ `C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.count` \
`C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.vm[zabbix_agent2] \ `C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.vm[zabbix_agent2] `\
`C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.vm[powershell] `C:\zabbix-agent2-6.4.5\bin\zabbix_get.exe -s 127.0.0.1 -p 10050 -k process.vm[powershell]`
Создать новые Items: \ Создать новые Items: \
key: process.count \ key: process.count \
@ -4451,7 +4458,7 @@ key: process.vm[zabbix_agent2]
- Добавить параметр Include для включения конфигурационных файлов подключаемых плагинов - Добавить параметр Include для включения конфигурационных файлов подключаемых плагинов
`'Include=.\zabbix_agent2.d\plugins.d\*.conf' >> C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.conf` `'Include=.\zabbix_agent2.d\plugins.d\*.conf' >> C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.conf`
- Создать конфигурационный файл с пользовательскими параметрами в каталоге, путь к которому указан в zabbix_agentd.conf - Создать конфигурационный файл с пользовательскими параметрами в каталоге, путь к которому указан в zabbix_agentd.conf \
`'UserParameter=Get-Query-Param[*],powershell.exe -noprofile -executionpolicy bypass -File C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\scripts\User-Sessions\Get-Query-Param.ps1 $1' > C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\plugins.d\User-Sessions.conf` `'UserParameter=Get-Query-Param[*],powershell.exe -noprofile -executionpolicy bypass -File C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\scripts\User-Sessions\Get-Query-Param.ps1 $1' > C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\plugins.d\User-Sessions.conf`
- Поместить скрипт Get-Query-Param.ps1 в каталог, путь к которому указан в User-Sessions.conf. Скрипт содержим пользовательские параметры, которые он принимает от Zabbix сервера. - Поместить скрипт Get-Query-Param.ps1 в каталог, путь к которому указан в User-Sessions.conf. Скрипт содержим пользовательские параметры, которые он принимает от Zabbix сервера.
@ -4472,11 +4479,11 @@ if ($select -eq "INACTIVECOUNT") {
``` ```
- Проверить работу скрипта: - Проверить работу скрипта:
`$path = "C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\scripts\User-Sessions" \ `$path = "C:\zabbix-agent2-6.4.5\conf\zabbix_agent2.d\scripts\User-Sessions"` \
`.$path\Get-Query-Param.ps1 ACTIVEUSER \ `.$path\Get-Query-Param.ps1 ACTIVEUSER` \
`.$path\Get-Query-Param.ps1 INACTIVEUSER \ `.$path\Get-Query-Param.ps1 INACTIVEUSER` \
`.$path\Get-Query-Param.ps1 ACTIVECOUNT \ `.$path\Get-Query-Param.ps1 ACTIVECOUNT` \
`.$path\Get-Query-Param.ps1 INACTIVECOUNT `.$path\Get-Query-Param.ps1 INACTIVECOUNT`
- Создать Items с ключами: - Создать Items с ключами:
@ -4487,13 +4494,13 @@ if ($select -eq "INACTIVECOUNT") {
- Макросы: - Макросы:
`{$ACTIVEMAX} = 16 \ `{$ACTIVEMAX} = 16` \
`{$ACTIVEMIN} = 0 `{$ACTIVEMIN} = 0`
- Триггеры: - Триггеры:
`last(/Windows-User-Sessions/Get-Query-Param[ACTIVECOUNT])>{$ACTIVEMAX} \ `last(/Windows-User-Sessions/Get-Query-Param[ACTIVECOUNT])>{$ACTIVEMAX}` \
`min(/Windows-User-Sessions/Get-Query-Param[ACTIVECOUNT],24h)={$ACTIVEMIN} `min(/Windows-User-Sessions/Get-Query-Param[ACTIVECOUNT],24h)={$ACTIVEMIN}`
### zabbix_agent2.conf ### zabbix_agent2.conf
``` ```
@ -4527,8 +4534,8 @@ DebugLevel=4
https://www.zabbix.com/documentation/current/en/manual/api/reference https://www.zabbix.com/documentation/current/en/manual/api/reference
`$ip = "192.168.3.102" \ `$ip = "192.168.3.102"` \
`$url = "http://$ip/zabbix/api_jsonrpc.php" `$url = "http://$ip/zabbix/api_jsonrpc.php"`
``` ```
$data = @{ $data = @{
"jsonrpc"="2.0"; "jsonrpc"="2.0";
@ -4687,27 +4694,27 @@ Invoke-WebRequest -Uri https://slproweb.com/download/Win64OpenSSL_Light-3_1_1.ms
Start-Process $home\Downloads\OpenSSL-Light-3.1.1.msi -ArgumentList '/quiet' -Wait # установить msi пакет в тихом режиме Start-Process $home\Downloads\OpenSSL-Light-3.1.1.msi -ArgumentList '/quiet' -Wait # установить msi пакет в тихом режиме
cd "C:\Program Files\OpenSSL-Win64\bin" cd "C:\Program Files\OpenSSL-Win64\bin"
``` ```
- Изменить пароль для PFX - Изменить пароль для PFX \
`openssl pkcs12 -in "C:\Cert\domain.ru.pfx" -out "C:\Cert\domain.ru.pem" -nodes` экспортируем имеющийся сертификат и закрытый ключ в .pem-файл без пароля с указанием текущего пароля \ `openssl pkcs12 -in "C:\Cert\domain.ru.pfx" -out "C:\Cert\domain.ru.pem" -nodes` экспортируем имеющийся сертификат и закрытый ключ в .pem-файл без пароля с указанием текущего пароля \
`openssl pkcs12 -export -in "C:\Cert\domain.ru.pem" -out "C:\Cert\domain.ru_password.pfx" -nodes` конвертируем .pem обратно в .pfx c указанием нового пароля `openssl pkcs12 -export -in "C:\Cert\domain.ru.pem" -out "C:\Cert\domain.ru_password.pfx" -nodes` конвертируем .pem обратно в .pfx c указанием нового пароля
- Конвертация из закрытого и открытого ключа PEM в PFX - Конвертация из закрытого и открытого ключа PEM в PFX \
`openssl pkcs12 -export -in "C:\tmp\vpn\vpn.itproblog.ru-crt.pem" -inkey "C:\tmp\vpn\vpn.itproblog.ru-key.pem" -out "C:\tmp\vpn\vpn.iiproblog.ru.pfx" \ `openssl pkcs12 -export -in "C:\tmp\vpn\vpn.itproblog.ru-crt.pem" -inkey "C:\tmp\vpn\vpn.itproblog.ru-key.pem" -out "C:\tmp\vpn\vpn.iiproblog.ru.pfx" \
in путь до файла с открытым ключом \ in путь до файла с открытым ключом \
inkey путь до файла с закрытым ключом \ inkey путь до файла с закрытым ключом \
out путь до файла, в который будет конвертирован сертификат (pfx) out путь до файла, в который будет конвертирован сертификат (pfx)
- Конвертация PFX в CRT - Конвертация PFX в CRT \
`openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -clcerts -out "C:\OpenSSL-Win64\bin\_.domain.ru.crt"` указывается текущий и 2 раза новый пароль PEM pass phrase (файл содержит EGIN CERTIFICATE и BEGIN ENCRYPTED PRIVATE KEY) \ `openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -clcerts -out "C:\OpenSSL-Win64\bin\_.domain.ru.crt"` указывается текущий и 2 раза новый пароль PEM pass phrase (файл содержит EGIN CERTIFICATE и BEGIN ENCRYPTED PRIVATE KEY) \
`openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -clcerts -nokeys -out "C:\OpenSSL-Win64\bin\_.domain.ru.crt"` без ключа, получить открытую часть (файл содержит только EGIN CERTIFICATE) `openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -clcerts -nokeys -out "C:\OpenSSL-Win64\bin\_.domain.ru.crt"` без ключа, получить открытую часть (файл содержит только EGIN CERTIFICATE)
- Конвертация PFX в KEY - Конвертация PFX в KEY \
`openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -nocerts -out "C:\OpenSSL-Win64\bin\_.domain.ru.key"` файл содержит только BEGIN ENCRYPTED PRIVATE KEY `openssl pkcs12 -in "C:\OpenSSL-Win64\bin\_.domain.ru.pfx" -nocerts -out "C:\OpenSSL-Win64\bin\_.domain.ru.key"` файл содержит только BEGIN ENCRYPTED PRIVATE KEY
- Снять пароль к закрытого ключа .key - Снять пароль к закрытого ключа .key \
`openssl rsa -in "C:\OpenSSL-Win64\bin\_.domain.ru.key" -out "C:\OpenSSL-Win64\bin\_.domain.ru-decrypted.key"` `openssl rsa -in "C:\OpenSSL-Win64\bin\_.domain.ru.key" -out "C:\OpenSSL-Win64\bin\_.domain.ru-decrypted.key"`
- CRT и KEY в PFX: - CRT и KEY в PFX: \
`openssl pkcs12 -inkey certificate.key -in certificate.crt -export -out certificate.pfx` `openssl pkcs12 -inkey certificate.key -in certificate.crt -export -out certificate.pfx`
# OpenSSH # OpenSSH