Pb zabbix

En ligne de commande sur le serveur zabbix : root@wctsrv0010:/usr/local/bin# zabbix_get -p 10050 -k agent.version -s wctsrv0041

zabbix_get [1536]: Check access restrictions in Zabbix agent configuration

Sur l’inteface web :

Received empty response from Zabbix Agent at [10.129.20.53]. Assuming that agent dropped connection because of access permissions

Server=emea_zabbix.wabtec.com

Install Zabbix Linux oracle RHEL 5

useradd -r zabbix
mkdir /etc/zabbix/

repository zabbix http://repo.zabbix.com/zabbix/3.2/

RHEL5 : rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-agent-3.2.0-1.el5.x86_64.rpm

yum install zabbix-agent

scp root@vlbid41x.ft.grp:/usr/bin/zabbix* /usr/bin/
scp root@vlbid41x.ft.grp:/usr/sbin/zabbix* /usr/sbin/
scp root@vlbid41x.ft.grp:/etc/zabbix/zabbix_agentd.conf /etc/zabbix/

cd /exploit/scripts

scp admse_efougere@wctsrv0011.wabtec.com:/exploit/scripts/zab_*.sh .

vim /etc/zabbix/zabbix_agentd.conf

Hostname=WCTSRV00XX.wabtec.com
ListenIP=10.129.32.XX
UserParameter=zab_mem_free,/exploit/scripts/zab_mem_free.sh
UserParameter=zab_proc_mem[*],/exploit/scripts/zab_proc_mem.sh $1
UserParameter=zab_proc_cpu[*],/exploit/scripts/zab_proc_cpu.sh $1
UserParameter=zab_test_port[*],/exploit/scripts/zab_test_port.sh $1 $2

service zabbix-agent start

—– log dans :
cat /exploit/logs/zabbix_agentd.log

Test the proper operation of the agent

Connect on vmoni with root account

cd /usr/local/bin

root@vmoni:~# zabbix_get -p 10050 -k agent.version -s servername

Install zabbix UBUNTU 18

add-apt-repository universe

apt install zabbix-agent

cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.ori

vim /etc/zabbix/zabbix_agentd.conf

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/exploit/logs/zabbix_agentd.log
LogFileSize=100
Server=CCO_PRD_ZABBIX_1.ft.grp
ServerActive=127.0.0.1
Hostname=dcdsrv0031
Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf
UserParameter=zab_mem_free,/exploit/scripts/zab_mem_free.sh
UserParameter=zab_proc_mem[*],/exploit/scripts/zab_proc_mem.sh $1
UserParameter=zab_proc_cpu[*],/exploit/scripts/zab_proc_cpu.sh $1
UserParameter=zab_test_port[*],/exploit/scripts/zab_test_port.sh $1 $2

cd /exploit/scripts

scp root@vsch1.ft.grp:/exploit/scripts/zab_*.sh .

service zabbix-agent start

Install zabbix 4.2 sur Windows

Install agent windows

Désinstallation
Stopper le service encours

"L:\Soft\zabbix\Zabbix Agent\zabbix_agentd.exe" --uninstall
"L:\Soft\zabbix_agents_1.8.10.win\win64\zabbix_agentd.exe" --uninstall

copier les fichiers
C:\Users\eric.fougere\Documents\zabbix\zabbix_4.2
dans
C:\Program Files\zabbix_4.2

LogFile=C:\Program Files\zabbix_4.2\zabbix_agentd.log
Server=emea_zabbix.wabtec.com
Hostname=WCTSRV00xx.wabtec.com
"C:\Program Files\zabbix_4.2\bin\zabbix_agentd.exe" -c "c:\Program Files\zabbix_4.2\zabbix_agentd.conf" --install

Démarrer le service

modifier le Logon au niveau du service : wabtec\srvdcdserversup

ajouter les règles de Firewall sur le nouveau serveur (ex : dccdsrv0027)

Tester depuis le wctsrv0010

root@wctsrv0010:~# zabbix_get -p 10050 -k agent.version -s dcdsrv0027
3.2.7

Install Zabbix Linux oracle RHEL 7

useradd -r zabbix
mkdir /etc/zabbix/

repository zabbix http://repo.zabbix.com/zabbix/3.2/

RHEL7 : rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

yum install zabbix-agent

scp root@vlbid41x.ft.grp:/usr/bin/zabbix* /usr/bin/
scp root@vlbid41x.ft.grp:/usr/sbin/zabbix* /usr/sbin/
scp root@vlbid41x.ft.grp:/etc/zabbix/zabbix_agentd.conf /etc/zabbix/

cd /exploit/scripts

scp admse_efougere@wctsrv0011.wabtec.com:/exploit/scripts/zab_*.sh .

vim /etc/zabbix/zabbix_agentd.conf

Hostname=WCTSRV00XX.wabtec.com
PidFile=/run/zabbix/zabbix_agentd.pid
ListenIP=10.129.32.XX
UserParameter=zab_mem_free,/exploit/scripts/zab_mem_free.sh
UserParameter=zab_proc_mem[*],/exploit/scripts/zab_proc_mem.sh $1
UserParameter=zab_proc_cpu[*],/exploit/scripts/zab_proc_cpu.sh $1
UserParameter=zab_test_port[*],/exploit/scripts/zab_test_port.sh $1 $2
ln -s "/etc/zabbix/zabbix_agentd.conf" "/usr/local/etc/zabbix_agentd.conf"

vim /lib/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Environment="CONFFILE=/etc/zabbix/zabbix_agentd.conf"
#EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/run/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s

[Install]
WantedBy=multi-user.target

rm /exploit/logs/zabbix_agentd.log
systemctl stop zabbix-agent.service
systemctl start zabbix-agent.service
systemctl status zabbix-agent.service

(éventuellement refaire un stop  + start)

—– log dans :

cat /var/log/messages

Test the proper operation of the agent

Connect on vmoni with root account

cd /usr/local/bin

root@vmoni:~# zabbix_get -p 10050 -k agent.version -s servername

 

Sonde zab_du_folder

Cette sonde permet de mesurer la taille d’un dossier.
Equivalent de :

[root@dcdsrv0016 mysql]# du /data/mysql/FT_DATAMART_EDU
238589436 /data/mysql/FT_DATAMART_EDU

[root@dcdsrv0016 mysql]# du -sh /data/mysql/FT_DATAMART_EDU
228G /data/mysql/FT_DATAMART_EDU
Créer le script

vi /exploit/scripts/zab_du_folder.sh

#!/bin/bash
w_folder=$1
cd ${w_folder}
du | tr -d [:punct:]

chmod 755 /exploit/scripts/zab_du_folder.sh

Ajouter le UserParameter au fichier conf de zabbix

vi /etc/zabbix/zabbix_agentd.conf

UserParameter=zab_du_folder[*],/exploit/scripts/zab_du_folder.sh $1

Arrêter et redémarrer l’agent zabbix

sh /etc/rc.d/init.d/zabbix_agent_stop.sh

sh /etc/rc.d/init.d/zabbix_agent_start.sh

Tester depuis le serveur zabbix vlcco19p.ft.grp

root@vlcco19p:~# zabbix_get -s dcdsrv0016.ft.grp -p 10050 -k zab_du_folder[/data/mysql/FT_DATAMART_EDU]
238589436

Ajouter la sonde dans zabbix
Si la commande retourne une liste de fichier au lieu de la taille
root@vlcco19p:~# zabbix_get -s dcdsrv0016.ft.grp -p 10050 -k zab_du_folder[/data/mysql/FT_DATAMART_EDU]
4 root
8 tmpXIMunix
4 tmpsystemdprivate208244b537644f73804a9b17dd880207vgauthdserviceeRgKpE
4 tmpX11unix
4 tmpsystemdprivate208244b537644f73804a9b17dd880207ntpdservicerMHKSt
4 tmpsystemdprivate208244b537644f73804a9b17dd880207vmtoolsdserviceWUaSS6
4 tmpfontunix
8 tmpTestunix
4 tmpICEunix
2264 tmp
16 lostfound
220 softdistribmysql575721repodata
755032 softdistribmysql575721
220 softdistribmysql57repodata
755256 softdistribmysql57
180 softdistribbackupexecmessageses
180 softdistribbackupexecmessagesfr
180 softdistribbackupexecmessagesko
...
il faut modifier les droits sur le dossier à mesurer.

755 sur le dossier
644 sur les fichiers sous le dossier

Sur le serveur dcdsrv0016.ft.grp
chmod 755 /data/mysql/FT_DATAMART_EDU

cd /data/mysql/FT_DATAMART_EDU
chmod 644 *

Install zabbix (rapide)

Sur DCDSRV0022 (cible)
mkdir /etc/zabbix/

depuis vlbid41x(source)
scp /home/zabbix/zabbix_agent_3.2.0/bin/* root@dcdsrv0014:/usr/bin/

scp root@vlbid41x.ft.grp:/usr/bin/zabbix* /usr/bin/
scp root@vlbid41x.ft.grp:/usr/sbin/zabbix* /usr/sbin/
scp root@vlbid41x.ft.grp:/etc/zabbix/zabbix_agentd.conf /etc/zabbix/

Sur DCDSRV0022 (cible)

vim /etc/zabbix/zabbix_agentd.conf

Server=CCO_PRD_ZABBIX_1.ft.grp
Hostname=DCDSRV0022 .ft.grp
ListenPort=10050
ListenIP=10.20.115.63

cd /exploit/scripts
scp root@vsch1.ft.grp:/exploit/scripts/zab_*.sh .

 

Test the proper operation of the agent

Connect on vmoni with root account

cd /usr/local/bin

root@vmoni:~# zabbix_get -p 10050 -k agent.version -s servername

Redémarrage auto des services windows avec zabbix.

Créer un template : Tmp_service_Auto_Restart

Dans le template créer l’Item

Item : Service_Automatic_Restart

Dans la clé Key, mettre

services[automatic, stopped, "gupdate,RemoteRegistry,SysmonLog,CIMnotify,sppsvc,clr_optimization_v4.0.30319_64,clr_optimization_v4.0.30319_32"]

Liste des services non concerné entre «  » séparé par ,

Créer un trigger sur l’item

Trigger : TRG_services_automatic_stopped

Créer une Action (Configuration Action)
Action: TRG_services_automatic_stopped

Créer une opération (onglet opération)

Ajouter une étape (New step, bon sur l’exemple elle existe déjà)

Ne pas oublier Update à la fin de la création de l’étape.

Et Update de l’ACTION.

Sur les serveurs windows :

Voici les scripts à mettre sur les serveurs sur lesquels on veut redémarrer automatiquement les services qui tombent.

Il faut créer un dossier c:\temp\

c:\Batchs\Start_service_auto.bat

@echo off
cls
:: EF le 16/05/2012
:: MV le 17/01/2017 ajout du check for permissions, windows 2012 r2

setlocal enableDelayedExpansion

:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
 echo Requesting administrative privileges...
 goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
 echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
 echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

 "%temp%\getadmin.vbs"
 exit /B

:gotAdmin
 if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
 pushd "%CD%"
 CD /D "%~dp0"
:--------------------------------------

set fic_log=c:\temp\service_to_restart.log
set fic_temp=c:\temp\service_to_restart.txt
set fic_start=c:\temp\service_to_start.txt
set fic_bat=c:\temp\service_to_start.bat


del /F %fic_log%
del /F %fic_temp%
del /F %fic_start%
del /F %fic_bat%

TIMEOUT /T 3 /NOBREAK 1>nul

TYPE NUL > %fic_start%
TYPE NUL > %fic_bat%

wmic service where (state="stopped" and startmode="Auto") get name>%fic_temp%

for /f "delims= skip=1" %%i in ('type %fic_temp%') do (
 set w_serv=%%i
 echo net start %%i>> %fic_start%
 )

TIMEOUT /T 3 /NOBREAK 1>nul

for /f "tokens=1,2,3* delims= " %%i in (%fic_start%) do (
 set wstr=%%i %%j 
 set wser=%%k %%l
 for /l %%a in (11,1,100) do if "!wser:~-1!"==" " set wser=!wser:~0,-1!
 set w_ligne=!wstr!"!wser!"
 echo !w_ligne!
 echo !w_ligne!>>%fic_bat%
 echo TIMEOUT /T 5 /NOBREAK >> %fic_bat%
 )

%fic_bat% > %fic_log%

c:\Batchs\test.bat

@echo off
echo TEST > c:\temp\test.txt
echo %1 >> c:\temp\test.txt

Check d’un process proc.num[]

Monitoring d’un process sous Linux avec Zabbix.

Exemple pour le process BIP.

zabbix_get -p 10050 -k proc.num[,seeasown,,/soft/BIP/runtime/jvm64/bin/java] -s vledi01p
3

ps -ef|grep BIP|grep -v grep
seeasown 30335 1 0 10:22 ? 00:00:00 /bin/sh /soft/BIP/bin/domain.sh
seeasown 30410 30335 0 10:22 ? 00:00:06 /soft/BIP/runtime/jvm64/bin/java -D[Process Controller] -server -Xms64m -Xmx512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.domain.default.config=domain.xml -Djboss.host.default.config=host.xml -Dvm.bisas.db.ssl=false -Dorg.jboss.boot.log.file=/soft/BIP/log/BIP_VLEDI01P//process-controller.log -Dlogging.configuration=file:/soft/BIP/domain/configuration/logging.properties -jar /soft/BIP/jboss-modules.jar -mp /soft/BIP/modules org.jboss.as.process-controller -jboss-home /soft/BIP -jvm /soft/BIP/runtime/jvm64/bin/java -mp /soft/BIP/modules -- -Dorg.jboss.boot.log.file=/soft/BIP/log/BIP_VLEDI01P//host-controller.log -Dlogging.configuration=file:/soft/BIP/domain/configuration/logging.properties -server -Xms64m -Xmx512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.domain.default.config=domain.xml -Djboss.host.default.config=host.xml -Dvm.bisas.db.ssl=false -- -default-jvm /soft/BIP/runtime/jvm64/bin/java
seeasown 30426 30410 0 10:22 ? 00:00:13 /soft/BIP/runtime/jvm64/bin/java -D[Host Controller] -Dorg.jboss.boot.log.file=/soft/BIP/log/BIP_VLEDI01P//host-controller.log -Dlogging.configuration=file:/soft/BIP/domain/configuration/logging.properties -server -Xms64m -Xmx512m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.domain.default.config=domain.xml -Djboss.host.default.config=host.xml -Dvm.bisas.db.ssl=false -jar /soft/BIP/jboss-modules.jar -mp /soft/BIP/modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.host-controller -mp /soft/BIP/modules --pc-address localhost --pc-port 53430 -default-jvm /soft/BIP/runtime/jvm64/bin/java -Djboss.home.dir=/soft/BIP
seeasown 30494 30410 0 10:22 ? 00:01:12 /soft/BIP/runtime/jvm64/bin/java -D[Server:BIP_VLEDI01P] -Xms1G -Xmx2G -Xss1M -server -server -d64 -XX:+UseG1GC -XX:MaxMetaspaceSize=1G -XX:+HeapDumpOnOutOfMemoryError -Xloggc:gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.PollSelectorProvider -Xverify:none -Dsun.java2d.noddraw=true -Djco.cpic_maxconv=204 -Doracle.jdbc.J2EE13Compliant=true -Djboss.modules.safe-jdk=true -Dcom.seeburger.conf.user=BISAS -Dcom.seeburger.conf.xml.fileprovider=Database -Dbisas.home=/soft/BIP -Dbisas.data=/soft/BIP/data -Dbisas.conf=/soft/BIP/conf -Dbisas.temp=/soft/BIP/temp -Dbisas.log=/soft/BIP/log -Dbisas.software=/soft/BIP/software -Dcom.seeburger.conf.xml.basedir=/soft/BIP/conf/SeeConfig -Ddir.pl.mappings=/soft/BIP/conf/pl -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0 -Dcom.seeburger.licensing.path=/soft/BIP/conf/license -Djava.io.tmpdir=/soft/BIP/temp -Djava.endorsed.dirs=/soft/BIP/lib/charsets -Djava.rmi.server.hostname=vledi01p.ftdmz.local -Dmail.mime.multipart.bmparse=false -Dmail.mime.cachemultipart=false -Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=org.eclipse.emf.ecore.impl.EPackageRegistryImpl -Dusehornetqstore=true -Dsecureedge.local.logger=seelogger -Duseinmemoryprocessing=true -Djgroups.bind_addr=vledi01p.ftdmz.local -Djgroups.use.jdk_logger=true -Dmaverick.workaroundEpollBug=true -Dsun.net.useExclusiveBind=false -Dcom.arjuna.ats.jta.xaAssumeRecoveryComplete=true -Dhibernate.dialect_resolvers=com.seeburger.hibernate.extensions.DialectResolver -Dinstance.id=BIP_VLEDI01P -Dinstance.group=Portal -Dinstance.roles=B2BPortal -Dsystem.id=vledi01p.ftdmz.local -Djboss.socket.binding.port-offset=0 -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.host.default.config=host.xml -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djboss.home.dir=/soft/BIP -Dorg.jboss.resolver.warning=true -Dorg.apache.tomcat.util.http.Parameters.MAX_COUNT=10000 -Djboss.domain.default.config=domain.xml -Dsun.rmi.dgc.client.gcInterval=3600000 -Djava.awt.headless=true -D[Host Controller]=true -Dvm.bisas.db.ssl=false -Djboss.server.log.dir=/soft/BIP/domain/servers/BIP_VLEDI01P/log -Djboss.server.temp.dir=/soft/BIP/domain/servers/BIP_VLEDI01P/tmp -Djboss.server.data.dir=/soft/BIP/domain/servers/BIP_VLEDI01P/data -Dorg.jboss.boot.log.file=/soft/BIP/domain/servers/BIP_VLEDI01P/log/boot.log -Dlogging.configuration=file:/soft/BIP/domain/configuration/logging.properties -jar /soft/BIP/jboss-modules.jar -mp /soft/BIP/modules -jaxpmodule javax.xml.jaxp-provider org.jboss.as.server

Il faut repérer le nom du process en rouge : /soft/BIP/runtime/jvm64/bin/java .
et le nom du user (facultatif) en bleu : seeasown

proc.num[,seeasown,,/soft/BIS/runtime/jvm64/bin/java] (Attention au virgules)

Type d’info : Numéric (float)

On positionne ensuite un trigger :

{VLEDI01P – DCC:proc.num[,seeasown,,/soft/BIP/runtime/jvm64/bin/java].last(0)}=0

Fichier_non_vide

Sous Linux

#!/bin/bash
cd /exploit/logs
find *.e -type f -not -empty

Sous Windows

rem ——————————————– rem ce script rechercher les fichiers non vide rem pour un type (extension) donné rem dans une directorie donné rem ——————————————–

@Echo Off

echo extension : %1 echo dossier : %2

setlocal ENABLEDELAYEDEXPANSION

set /A P1=0 set fic=%1 set dossier=%2

for /R %dossier% %%i in (%fic%) do if « %%~zi » geq « 1 » ( echo %%~nxzi set /A P1=!P1!+1 )

echo Il y a !P1! fichiers non vide

set /A nb_fic=!P1!

if %nb_fic% equ 0 goto TERMINE goto ERREUR

:ERREUR Echo « il y a !P1! Pb sur ces serveurs » rem cd %ABM_LOGS% rem copy /Y %TOM_LOG_PATH_E% log_erreur.txt rem copy /Y %TOM_LOG_PATH_O% log_standard.txt rem %ABM_BIN%/tmail -c %ABM_BIN%/tmail.ini -to eric.fougere@faiveleytransport.com -sub « DCB – VTOM : ERREUR job : %TOM_JOB% » -msg « fichier log non vide MACHINE : %TOM_HOST% %TOM_JOB% : Les log errors ne sont pas vides. » -att log_standard.txt;log_erreur.txt

:TERMINE exit /b %nb_fic%

Del_non_vide.bat

rem --------------------------------------------
rem ce script rechercher les fichiers non vide 
rem pour un type (extension) donné
rem dans une directorie donné
rem --------------------------------------------
@Echo Off
echo extension : %1
echo dossier : %2
setlocal ENABLEDELAYEDEXPANSION
set fic=%1
set dossier=%2
for /R %dossier% %%i in (%fic%) do if "%%~zi" geq "1" (
echo %%~nxzi 
del /f %%i 
)
:TERMINE
exit /b %nb_fic%

connect_as400.bat

rem Tracking #63550
rem Test de connection à l'AS400
net use s: /delete /yes
net use s: \\ERPM3TWO\root\M3FileTransfer\M3Production\DE1\test vtomvtom /USER:erpm3two\DCXSERVICE
echo source =\\ERPM3TWO\root\M3FileTransfer\M3Production\DE1\test
rem set source=\\pfile.ft.grp\Distrib\_cco\EF\Documents
rem set cible=s:
set source=s:
set cible=\\pfile.ft.grp\Distrib\_cco\EF\test
echo %source% 
echo %cible%
set w_log=%cible\%TOM_JOB%.log
dir %source%
robocopy %source% %cible% /S /w:1 /r:1 test*.txt
dir %cible%

Convert secondes en heures minutes

en SQL Server

9294 s ==> 2.5816666 h ===> 02:34::53

SELECT
ElapsedTimeSeconds
,(CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600)
,RIGHT(‘0’ + CAST (FLOOR((CAST ( ElapsedTimeSeconds AS decimal(10,4))/ 3600)) AS VARCHAR), 2) + ‘:’ +
RIGHT(‘0’ + CAST(FLOOR(((((CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600) * 3600) % 3600) / 60)) AS VARCHAR), 2) + ‘:’ +
RIGHT(‘0’ + CAST (FLOOR(((CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600) * 3600) % 60) AS VARCHAR), 2)
from BEDB.dbo.JobHistorySummary
where TaskTypeID = 200

 

9294 s ==> 2.34

SELECT
ElapsedTimeSeconds
,(CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600)
,RIGHT(‘0’ + CAST (FLOOR((CAST ( ElapsedTimeSeconds AS decimal(10,4))/ 3600)) AS INT), 2) + ‘.’ +
RIGHT(‘0’ + CAST(FLOOR(((((CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600) * 3600) % 3600) / 60)) AS VARCHAR), 2) –+ ‘:’ +
–RIGHT(‘0′ + CAST (FLOOR(((CAST ( ElapsedTimeSeconds AS decimal(10,2))/ 3600) * 3600) % 60) AS VARCHAR), 2)
–,DATEADD(mi, (ElapsedTimeSeconds – FLOOR(ElapsedTimeSeconds)) * 60, DATEADD(hh, FLOOR(ElapsedTimeSeconds), CAST (’00:00:00’ AS TIME)))
from BEDB.dbo.JobHistorySummary
where TaskTypeID = 200

Perf Counter Windows

11 Compteurs de performance Windows

Les compteurs de performance Windows peuvent être efficacement supervisés en utilisant perf_counter[].

Par exemple:

perf_counter["Processor(0)\Interrupts/sec"]

ou

perf_counter["Processor(0)\Interrupts/sec", 10]

Dans le but d’obtenir la liste complète des compteurs de performance disponibles pour la supervision vous pouvez exécuter la commande suivante:

typeperf -qx

Malheureusement, les paramètres locaux de nommage des compteurs de performances peuvent être différents sur les différents serveurs Windows. Ceci peut causer certains problèmes lors de la création d’un modèle pour superviser plusieurs machines Windows ayant différents paramètres locaux.

Chaque compteur de performance peut être traduit sous forme numérique, lequel est unique et exactement le même indifféremment de paramètres linguistiques.

Exécuter regedit, Ensuite trouver HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009. Les entrées de la base registre contiennent des informations telles que:

1
1847
2
System
4
Memory
6
% Processor Time
10
File Read Operations/sec
12
File Write Operations/sec
14
File Control Operations/sec
16
File Read Bytes/sec
18
File Write Bytes/sec
....

Donc, dans le but de traduire le nom (en chaîne de caractère) d’un compteur de performance sous une forme numérique,il faut trouver les nombres correspondant pour chaque partie du compteur de performance comme:

System -> 2
% Processor Time -> 6
\System\% Processor Time

Then use these numbers to create a numeric format:

\2\6

11.1 Paramètres utilisateurs simples

Dans le but de définir un nouveau paramètre pour la supervision, une ligne doit être ajoutée au fichier de configuration de Zabbix qui doit ensuite être redémarré. Par exemple:

   PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30
   ou
   PerfCounter=UserPerfCounter2,"\4\24",30

Ensuite, il est possible d’utiliser “UserPerfCounter1” et “UserPerfCounter2” comme des items habituels disponibles sur l’interface ou ailleurs, de façon similaire à UserParameter.

Zabbix User Parameter

http://www.zabbix.com/documentation/1.8/manual/config/user_parameters

To create a new probe.

Create script in /exploit/script folder.

cd /exploit/script

Example : toto.sh (with passing a parameter eg)

give execution rights
chmod 755 toto.sh

Add UserParameter at the end of the file zabbix_agentd.conf

vi /etc/zabbix/zabbix_agentd.conf

Example: UserParameter=system.toto[*],/exploit/script/toto.sh $1

K99zabbix-agent

S99zabbix-agent

To use the new probe in Zabbix.

Create an Item
Description: itemname
Type: Zabbix agent
key: system.toto[param] (param = the value passed as a parameter)
Type of information: text
Interval: 30 (or other)

UserParameter up

vi /etc/zabbix/zabbix_agentd.conf

UserParameter=zab_mem_free,/exploit/scripts/zab_mem_free.sh
UserParameter=zab_proc_mem[*],/exploit/scripts/zab_proc_mem.sh $1
UserParameter=zab_proc_cpu[*],/exploit/scripts/zab_proc_cpu.sh $1

UserParameter=zab_proc[*],/exploit/scripts/zab_proc.sh $1 $2
UserParameter=zab_web_sans[*],/exploit/scripts/zab_web_sans.sh $1
UserParameter=zab_web_avec[*],/exploit/scripts/zab_web_avec.sh $1

Probes on all the Linux server :
zab_mem_free (doesn’t work on Venus)
zab_proc_mem
zab_proc_cpu

Other specifics Probes :

Probe VMONI VPALODEV1
topcpu OK
zab_web_avec OK
zab_web_sans OK

Start Stop Zabbix services

ps auxww |grep -v grep | grep zabbix_agentd

cd /etc/init.d/

Zabbix agent

vi zabbix_agent_start.sh
su -l zabbix -c /usr/sbin/zabbix_agentd start

chmod 755 zabbix_agent_start.sh

vi zabbix_agent_stop.sh
ps -ef | grep zabbix_agentd | grep -v grep | awk ‘{print $2}’ | xargs kill -9

chmod 755 zabbix_agent_stop.sh

Put in /etc/rc3.d and /etc/rc5.d

cd /etc/rc3.d/
cd /etc/rc5.d/

ln -s ../init.d/zabbix_agent_stop.sh K20zabbix-agent
ln -s ../init.d/zabbix_agent_start.sh S20zabbix-agent

Zabbix serveur (sur vmoni.ft.grp)

vi zabbix_server_start.sh
su -l zabbix -c /usr/local/sbin/zabbix_server

chmod 755 zabbix_server_start.sh

vi zabbix_server_stop.sh
ps -ef | grep zabbix_server | grep -v grep | awk ‘{print $2}’ | xargs kill -9

chmod 755 zabbix_server_stop.sh

Put in /etc/rc3.d and /etc/rc5.d

cd /etc/rc3.d/
cd /etc/rc5.d/

ln -s ../init.d/zabbix_server_stop.sh K20zabbix-server
ln -s ../init.d/zabbix_server_start.sh S20zabbix-server

Sonde temps de reponse page web

Avec proxy

zab_web_avec.sh

#!/bin/bash
export http_proxy=’gateway.zscaler.net:80′
cd /tmp
d1=`date + »%S.%N »`
wget -q –proxy=on –dns-cache=off http://www.citrix.com
d2=`date + »%S.%N »`
rm /tmp/index.html
echo « scale=2; $d2-$d1 » | bc

Sans proxy

zab_web_sans.sh

#!/bin/bash
cd /tmp
d1=`date + »%S.%N »`
wget -q –proxy=off –dns-cache=off http://www.citrix.com
d2=`date + »%S.%N »`
rm /tmp/index.html
echo « scale=2; $d2-$d1 » | bc