Ad Widget

Collapse

100% загрузка ЦП сервера (VMware 2.0.6)

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kentuki
    Junior Member
    • Feb 2010
    • 20

    #1

    100% загрузка ЦП сервера (VMware 2.0.6)

    Здравствуйте!

    Используем готовую виртуальную машину zabbix-сервера VMware 2.0.6. С течением короткого времени после рестарта либо самого процесса zabbix'а, либо всей виртуальной машины, 4 ядра сервера уходят в 100% загрузку. Утилита top показывает, что всё процессорное время съедается zabbix'ом.

    Ниже представлены графики активности и нагрузки.

    Загрузка ЦП
  • kentuki
    Junior Member
    • Feb 2010
    • 20

    #2
    Производительность сервера

    Comment

    • kentuki
      Junior Member
      • Feb 2010
      • 20

      #3
      Получение данных
      Last edited by kentuki; 18-10-2013, 05:58.

      Comment

      • kentuki
        Junior Member
        • Feb 2010
        • 20

        #4
        Внутренние процессы

        Увеличил количество тех или иных поллеров в зависимости от показания графиков. Но это ситуацию не исправило. Есть мнение, что надо менять релиз zabbix'а. А также есть мнение, что надо проводить тюнинг, только вот чего?

        Comment

        • kentuki
          Junior Member
          • Feb 2010
          • 20

          #5
          Картинки все в свборе

          Comment

          • sproot
            Member
            • Mar 2012
            • 52

            #6
            Привет ;-)
            Хорошо бы знать параметры виртуалки cpu/mem ... и "Состояние Zabbix" с главной страницы админ.панели.

            Comment

            • kentuki
              Junior Member
              • Feb 2010
              • 20

              #7
              Originally posted by sproot
              Привет ;-)
              Хорошо бы знать параметры виртуалки cpu/mem ... и "Состояние Zabbix" с главной страницы админ.панели.
              Привет

              4 ядра от CPU Xeon E5-2667 2.9ГГц + 2 гбайт ОЗУ. Все 4 ядра заняты zabbix_server под 100%. При этом количество процессов самого zabbix со временем увеличивается.

              вот картинка: http://postimg.org/image/prq5oog9f/11036750/

              Comment

              • sproot
                Member
                • Mar 2012
                • 52

                #8
                Originally posted by kentuki
                Привет

                4 ядра от cpu xeon e5-2667 2.9ГГц + 2 гбайт ОЗУ. Все 4 ядра заняты zabbix_server под 100%. При этом количество процессов самого zabbix со временем увеличивается.

                вот картинка: http://postimg.org/image/prq5oog9f/11036750/
                Скинь еще конфиг забикс-сервера

                Comment

                • kentuki
                  Junior Member
                  • Feb 2010
                  • 20

                  #9
                  Code:
                  # This is a configuration file for Zabbix Server process
                  # To get more information about Zabbix,
                  # visit http://www.zabbix.com
                  
                  ############ GENERAL PARAMETERS #################
                  
                  ### Option: NodeID
                  #	Unique NodeID in distributed setup.
                  #	0 - standalone server
                  #
                  # Mandatory: no
                  # Range: 0-999
                  # Default:
                  # NodeID=0
                  
                  ### Option: ListenPort
                  #	Listen port for trapper.
                  #
                  # Mandatory: no
                  # Range: 1024-32767
                  # Default:
                  # ListenPort=10051
                  
                  ### Option: SourceIP
                  #	Source IP address for outgoing connections.
                  #
                  # Mandatory: no
                  # Default:
                  # SourceIP=
                  
                  ### Option: LogFile
                  #	Name of log file.
                  #	If not set, syslog is used.
                  #
                  # Mandatory: no
                  # Default:
                  # LogFile=
                  
                  LogFile=/var/log/zabbix/zabbix_server.log
                  
                  ### Option: LogFileSize
                  #	Maximum size of log file in MB.
                  #	0 - disable automatic log rotation.
                  #
                  # Mandatory: no
                  # Range: 0-1024
                  # Default:
                  LogFileSize=128
                  
                  ### Option: DebugLevel
                  #	Specifies debug level
                  #	0 - no debug
                  #	1 - critical information
                  #	2 - error information
                  #	3 - warnings
                  #	4 - for debugging (produces lots of information)
                  #
                  # Mandatory: no
                  # Range: 0-4
                  # Default:
                  # DebugLevel=3
                  
                  ### Option: PidFile
                  #	Name of PID file.
                  #
                  # Mandatory: no
                  # Default:
                  PidFile=/var/run/zabbix/zabbix_server.pid
                  
                  ### Option: DBHost
                  #	Database host name.
                  #	If set to localhost, socket is used for MySQL.
                  #	If set to empty string, socket is used for PostgreSQL.
                  #
                  # Mandatory: no
                  # Default:
                  # DBHost=localhost
                  
                  ### Option: DBName
                  #	Database name.
                  #	For SQLite3 path to database file must be provided. DBUser and DBPassword are ignored.
                  #
                  # Mandatory: yes
                  # Default:
                  # DBName=
                  
                  DBName=zabbix
                  
                  ### Option: DBSchema
                  #	Schema name. Used for IBM DB2.
                  #
                  # Mandatory: no
                  # Default:
                  # DBSchema=
                  
                  ### Option: DBUser
                  #	Database user. Ignored for SQLite.
                  #
                  # Mandatory: no
                  # Default:
                  # DBUser=zabbix
                  
                  DBUser=zabbix
                  
                  ### Option: DBPassword
                  #	Database password. Ignored for SQLite.
                  #	Comment this line if no password is used.
                  #
                  # Mandatory: no
                  # Default:
                  DBPassword=zabbix
                  
                  ### Option: DBSocket
                  #	Path to MySQL socket.
                  #
                  # Mandatory: no
                  # Default:
                  DBSocket=/var/run/mysql/mysql.sock
                  
                  ### Option: DBPort
                  #	Database port when not using local socket. Ignored for SQLite.
                  #
                  # Mandatory: no
                  # Range: 1024-65535
                  # Default (for MySQL):
                  # DBPort=3306
                  
                  ############ ADVANCED PARAMETERS ################
                  
                  ### Option: StartPollers
                  #	Number of pre-forked instances of pollers.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartPollers=200
                  
                  ### Option: StartIPMIPollers
                  #	Number of pre-forked instances of IPMI pollers.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartIPMIPollers=60
                  
                  ### Option: StartPollersUnreachable
                  #	Number of pre-forked instances of pollers for unreachable hosts (including IPMI).
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartPollersUnreachable=120
                  
                  ### Option: StartTrappers
                  #	Number of pre-forked instances of trappers.
                  #	Trappers accept incoming connections from Zabbix sender, active agents, active proxies and child nodes.
                  #	At least one trapper process must be running to display server availability in the frontend.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartTrappers=20
                  
                  ### Option: StartPingers
                  #	Number of pre-forked instances of ICMP pingers.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartPingers=50
                  
                  ### Option: StartDiscoverers
                  #	Number of pre-forked instances of discoverers.
                  #
                  # Mandatory: no
                  # Range: 0-250
                  # Default:
                  StartDiscoverers=10
                  
                  ### Option: StartHTTPPollers
                  #	Number of pre-forked instances of HTTP pollers.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  # StartHTTPPollers=1
                  
                  ### Option: JavaGateway
                  #	IP address (or hostname) of Zabbix Java gateway.
                  #	Only required if Java pollers are started.
                  #
                  # Mandatory: no
                  # Default:
                  JavaGateway=  172.16.0.61
                  
                  ### Option: JavaGatewayPort
                  #	Port that Zabbix Java gateway listens on.
                  #
                  # Mandatory: no
                  # Range: 1024-32767
                  # Default:
                  JavaGatewayPort=10052
                  
                  ### Option: StartJavaPollers
                  #	Number of pre-forked instances of Java pollers.
                  #
                  # Mandatory: no
                  # Range: 0-1000
                  # Default:
                  StartJavaPollers=10
                  
                  ### Option: SNMPTrapperFile
                  #	Temporary file used for passing data from SNMP trap daemon to the server.
                  #	Must be the same as in zabbix_trap_receiver.pl or SNMPTT configuration file.
                  #
                  # Mandatory: no
                  # Default:
                  # SNMPTrapperFile=/tmp/zabbix_traps.tmp
                  
                  ### Option: StartSNMPTrapper
                  #	If 1, SNMP trapper process is started.
                  #
                  # Mandatory: no
                  # Range: 0-1
                  # Default:
                   StartSNMPTrapper=1
                  
                  ### Option: ListenIP
                  #	List of comma delimited IP addresses that the trapper should listen on.
                  #	Trapper will listen on all network interfaces if this parameter is missing.
                  #
                  # Mandatory: no
                  # Default:
                  # ListenIP=0.0.0.0
                  
                  # ListenIP=127.0.0.1
                  
                  ### Option: HousekeepingFrequency
                  #	How often Zabbix will perform housekeeping procedure (in hours).
                  #	Housekeeping is removing unnecessary information from history, alert, and alarms tables.
                  #
                  # Mandatory: no
                  # Range: 1-24
                  # Default:
                  # HousekeepingFrequency=1
                  
                  ### Option: MaxHousekeeperDelete
                  #	The table "housekeeper" contains "tasks" for housekeeping procedure in the format:
                  #	[housekeeperid], [tablename], [field], [value].
                  #	No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value])
                  #	will be deleted per one task in one housekeeping cycle.
                  #	SQLite3 does not use this parameter, deletes all corresponding rows without a limit.
                  #	If set to 0 then no limit is used at all. In this case you must know what you are doing!
                  #
                  # Mandatory: no
                  # Range: 0-1000000
                  # Default:
                  # MaxHousekeeperDelete=500
                  
                  ### Option: DisableHousekeeping
                  #	If set to 1, disables housekeeping.
                  #
                  # Mandatory: no
                  # Range: 0-1
                  # Default:
                  # DisableHousekeeping=0
                  
                  ### Option: SenderFrequency
                  #	How often Zabbix will try to send unsent alerts (in seconds).
                  #
                  # Mandatory: no
                  # Range: 5-3600
                  # Default:
                  # SenderFrequency=30
                  
                  ### Option: CacheSize
                  #	Size of configuration cache, in bytes.
                  #	Shared memory size for storing host, item and trigger data.
                  #
                  # Mandatory: no
                  # Range: 128K-2G
                  # Default:
                  CacheSize=32M
                  
                  ### Option: CacheUpdateFrequency
                  #	How often Zabbix will perform update of configuration cache, in seconds.
                  #
                  # Mandatory: no
                  # Range: 1-3600
                  # Default:
                  # CacheUpdateFrequency=60
                  
                  ### Option: StartDBSyncers
                  #	Number of pre-forked instances of DB Syncers
                  #
                  # Mandatory: no
                  # Range: 1-100
                  # Default:
                  StartDBSyncers=20
                  
                  ### Option: HistoryCacheSize
                  #	Size of history cache, in bytes.
                  #	Shared memory size for storing history data.
                  #
                  # Mandatory: no
                  # Range: 128K-2G
                  # Default:
                  HistoryCacheSize=32M
                  
                  ### Option: TrendCacheSize
                  #	Size of trend cache, in bytes.
                  #	Shared memory size for storing trends data.
                  #
                  # Mandatory: no
                  # Range: 128K-2G
                  # Default:
                  TrendCacheSize=32M
                  
                  ### Option: HistoryTextCacheSize
                  #	Size of text history cache, in bytes.
                  #	Shared memory size for storing character, text or log history data.
                  #
                  # Mandatory: no
                  # Range: 128K-2G
                  # Default:
                  HistoryTextCacheSize=32M
                  
                  ### Option: NodeNoEvents
                  #	If set to '1' local events won't be sent to master node.
                  #	This won't impact ability of this node to propagate events from its child nodes.
                  #
                  # Mandatory: no
                  # Range: 0-1
                  # Default:
                  # NodeNoEvents=0
                  
                  ### Option: NodeNoHistory
                  #	If set to '1' local history won't be sent to master node.
                  #	This won't impact ability of this node to propagate history from its child nodes.
                  #
                  # Mandatory: no
                  # Range: 0-1
                  # Default:
                  # NodeNoHistory=0
                  
                  ### Option: Timeout
                  #	Specifies how long we wait for agent, SNMP device or external check (in seconds).
                  #
                  # Mandatory: no
                  # Range: 1-30
                  # Default:
                  Timeout=30
                  
                  ### Option: TrapperTimeout
                  #	Specifies how many seconds trapper may spend processing new data.
                  #
                  # Mandatory: no
                  # Range: 1-300
                  # Default:
                  # TrapperTimeout=300
                  
                  ### Option: UnreachablePeriod
                  #	After how many seconds of unreachability treat a host as unavailable.
                  #
                  # Mandatory: no
                  # Range: 1-3600
                  # Default:
                  # UnreachablePeriod=45
                  
                  ### Option: UnavailableDelay
                  #	How often host is checked for availability during the unavailability period, in seconds.
                  #
                  # Mandatory: no
                  # Range: 1-3600
                  # Default:
                  # UnavailableDelay=60
                  
                  ### Option: UnreachableDelay
                  #	How often host is checked for availability during the unreachability period, in seconds.
                  #
                  # Mandatory: no
                  # Range: 1-3600
                  # Default:
                  # UnreachableDelay=15
                  
                  ### Option: AlertScriptsPath
                  #	Full path to location of custom alert scripts.
                  #	Default depends on compilation options.
                  #
                  # Mandatory: no
                  # Default:
                  # AlertScriptsPath=${datadir}/zabbix/alertscripts
                  
                  ### Option: ExternalScripts
                  #	Full path to location of external scripts.
                  #	Default depends on compilation options.
                  #
                  # Mandatory: no
                  # Default:
                  # ExternalScripts=${datadir}/zabbix/externalscripts
                  
                  ### Option: FpingLocation
                  #	Location of fping.
                  #	Make sure that fping binary has root ownership and SUID flag set.
                  #
                  # Mandatory: no
                  # Default:
                  # FpingLocation=/usr/sbin/fping
                  
                  ### Option: Fping6Location
                  #	Location of fping6.
                  #	Make sure that fping6 binary has root ownership and SUID flag set.
                  #	Make empty if your fping utility is capable to process IPv6 addresses.
                  #
                  # Mandatory: no
                  # Default:
                  # Fping6Location=/usr/sbin/fping6
                  
                  ### Option: SSHKeyLocation
                  #	Location of public and private keys for SSH checks and actions
                  #
                  # Mandatory: no
                  # Default:
                  # SSHKeyLocation=
                  
                  ### Option: LogSlowQueries
                  #	How long a database query may take before being logged (in milliseconds).
                  #	Only works if DebugLevel set to 3 or 4.
                  #	0 - don't log slow queries.
                  #
                  # Mandatory: no
                  # Range: 1-3600000
                  # Default:
                  LogSlowQueries=1000
                  
                  ### Option: TmpDir
                  #	Temporary directory.
                  #
                  # Mandatory: no
                  # Default:
                  # TmpDir=/tmp
                  
                  ### Option: Include
                  #	You may include individual files or all files in a directory in the configuration file.
                  #	Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
                  #
                  # Mandatory: no
                  # Default:
                  # Include=
                  
                  # Include=/usr/local/etc/zabbix_server.general.conf
                  # Include=/usr/local/etc/zabbix_server.conf.d/
                  
                  ### Option: StartProxyPollers
                  #	Number of pre-forked instances of pollers for passive proxies.
                  #
                  # Mandatory: no
                  # Range: 0-250
                  # Default:
                  # StartProxyPollers=1
                  
                  ### Option: ProxyConfigFrequency
                  #	How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds.
                  #	This parameter is used only for proxies in the passive mode.
                  #
                  # Mandatory: no
                  # Range: 1-3600*24*7
                  # Default:
                  # ProxyConfigFrequency=3600
                  
                  ### Option: ProxyDataFrequency
                  #	How often Zabbix Server requests history data from a Zabbix Proxy in seconds.
                  #	This parameter is used only for proxies in the passive mode.
                  #
                  # Mandatory: no
                  # Range: 1-3600
                  # Default:
                  # ProxyDataFrequency=1
                  Last edited by kentuki; 18-10-2013, 08:14.

                  Comment

                  • sproot
                    Member
                    • Mar 2012
                    • 52

                    #10
                    Попробуй для начала:

                    StartPollers=200 уменьшить до 100
                    StartPollersUnreachable=120 уменьшить до 10

                    При таких значениях на забиксе, который еще сильней нагружен, работает без проблем.

                    Comment

                    • kentuki
                      Junior Member
                      • Feb 2010
                      • 20

                      #11
                      Originally posted by sproot
                      Попробуй для начала:

                      StartPollers=200 уменьшить до 100
                      StartPollersUnreachable=120 уменьшить до 10

                      При таких значениях на забиксе, который еще сильней нагружен, работает без проблем.
                      Значение StartPollersUnreachable было неизменным до момента начала поиска проблемы. Как показывал график "Zabbix data gathering process busy %", этот поллер доходил до 100% в течение суток. Поэтому число было поднято сначала до 60 (это ненадолго решило проблему), а затем до 120. Но опять же, за 1,5 суток с момента перезагрузки сервера и до сего часа этот поллер разогнался до 40%. Т.е. ещё пару дней и мы снова выйдем на 100%. Поэтому стоит ли снижать число?

                      StartPollers снизил до 100. Ждём.

                      Comment

                      • sproot
                        Member
                        • Mar 2012
                        • 52

                        #12
                        Originally posted by kentuki
                        Значение startpollersunreachable было неизменным до момента начала поиска проблемы. Как показывал график "zabbix data gathering process busy %", этот поллер доходил до 100% в течение суток. Поэтому число было поднято сначала до 60 (это ненадолго решило проблему), а затем до 120. Но опять же, за 1,5 суток с момента перезагрузки сервера и до сего часа этот поллер разогнался до 40%. Т.е. ещё пару дней и мы снова выйдем на 100%. Поэтому стоит ли снижать число?
                        У вас единовременно становятся много недоступных узлов? Или они заведены, но не настроены?

                        Comment

                        • kentuki
                          Junior Member
                          • Feb 2010
                          • 20

                          #13
                          Originally posted by sproot
                          У вас единовременно становятся много недоступных узлов? Или они заведены, но не настроены?
                          Ситуация на сети никак не влияет на загрузку сервера.

                          Обновил софт, который шёл с OpenSUSE - проблема не решилась.
                          Перешёл с zabbix 2.0.6 на 2.0.9 - проблема не решилась.

                          Comment

                          • kentuki
                            Junior Member
                            • Feb 2010
                            • 20

                            #14
                            Проблема ушла с переходм на новую виртуальную машину с zabbix 2.0.8.

                            P.S.

                            Новая виртуальная машина является 64-х разрядной ОС.

                            Comment

                            • sproot
                              Member
                              • Mar 2012
                              • 52

                              #15
                              Originally posted by kentuki
                              Проблема ушла с переходм на новую виртуальную машину с zabbix 2.0.8.

                              P.s.

                              Новая виртуальная машина является 64-х разрядной ОС.
                              Пожалуйста ;-)

                              p.s.
                              Кстати, вчера уже 2.0.9 в виртуалке выложили.

                              Comment

                              Working...