Ad Widget

Collapse

zabbix_agentd mysqladmin: connect to server at 'localhost' failed

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • g18c
    Junior Member
    • Mar 2010
    • 9

    #1

    zabbix_agentd mysqladmin: connect to server at 'localhost' failed

    Hi i have zabbix_agentd installed on a CentOS 5.5 server, it works and talks back to the main zabbix server and i can see the majority of stats except anything to do with MySQL. In /var/log/zabbix/zabbix_agentd.log i see the following errors:

    mysqladmin: connect to server at 'localhost' failed
    error: 'Access denied for user 'root'@'localhost' (using password: NO)'

    Now no doubt this is to do with root permissions when the zabbix_agentd process is running under the user zabbix, so my question is really how can i monitor the MySQL server without putting root passwords in the configuration file?

    Is it possible to create a new MySQL user who only has permissions to view the current statistics?

    Many thanks in advance,

    Chris

    My config file is as follows:

    [root@bowser zabbix]#cat /etc/zabbix/zabbix_agentd.conf
    # This is a config file for Zabbix Agent (Unix)
    # To get more information about Zabbix, visit http://www.zabbix.com

    ############ GENERAL PARAMETERS #################

    ### Option: PidFile
    # Name of PID file.
    #
    # Mandatory: no
    # Default:
    PidFile=/var/run/zabbix/zabbix_agentd.pid

    ### Option: LogFile
    # Name of log file.
    # If not set, syslog is used.
    #
    # Mandatory: no
    # Default:
    # LogFile=

    LogFile=/var/log/zabbix/zabbix_agentd.log

    ### Option: LogFileSize
    # Maximum size of log file in MB.
    # 0 - disable automatic log rotation.
    #
    # Mandatory: no
    # Range: 0-1024
    # Default:
    # LogFileSize=1

    ### 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: SourceIP
    # Source IP address for outgoing connections.
    #
    # Mandatory: no
    # Default:
    # SourceIP=

    ### Option: EnableRemoteCommands
    # Whether remote commands from Zabbix server are allowed.
    # 0 - not allowed
    # 1 - allowed
    #
    # Mandatory: no
    # Default:
    # EnableRemoteCommands=0

    ### Option: LogRemoteCommands
    # Enable logging of executed shell commands as warnings
    # 0 - disabled
    # 1 - enabled
    #
    # Mandatory: no
    # Default:
    # LogRemoteCommands=0

    ##### Passive checks related

    ### Option: Server
    # List of comma delimited IP addresses (or hostnames) of Zabbix servers.
    # No spaces allowed. First entry is used for receiving list of and sending active checks.
    # Note that hostnames must resolve hostname->IP address and IP address->ho stname.
    # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127. 0.0.1' are treated equally.
    #
    # Mandatory: yes
    # Default:
    # Server=

    Server=myserver.com

    ### Option: Hostname
    # Unique, case sensitive hostname.
    # Required for active checks and must match hostname as configured on the server.
    #
    # Default:
    # Hostname=system.uname

    Hostname=Zabbix server

    ### Option: ListenPort
    # Agent will listen on this port for connections from the server.
    #
    # Mandatory: no
    # Range: 1024-32767
    # Default:
    # ListenPort=10050

    ### Option: ListenIP
    # List of comma delimited IP addresses that the agent should listen on.
    #
    # Mandatory: no
    # Default:
    # ListenIP=0.0.0.0

    # ListenIP=127.0.0.1

    ### Option: DisablePassive
    # Disable passive checks. The agent will not listen on any TCP port.
    # Only active checks will be processed.
    # 0 - do not disable
    # 1 - disable
    #
    # Mandatory: no
    # Default:
    # DisablePassive=0

    ##### Active checks related

    ### Option: DisableActive
    # Disable active checks. The agent will work in passive mode listening for server.
    #
    # Mandatory: no
    # Default:
    # DisableActive=0

    # DisableActive=1

    ### Option: ServerPort
    # Server port for retrieving list of and sending active checks.
    #
    # Mandatory: no
    # Default:
    # ServerPort=10051

    ### Option: RefreshActiveChecks
    # How often list of active checks is refreshed, in seconds.
    #
    # Mandatory: no
    # Range: 60-3600
    # Default:
    # RefreshActiveChecks=120

    ### Option: BufferSend
    # Do not keep data longer than N seconds in buffer.
    #
    # Mandatory: no
    # Range: 1-3600
    # Default:
    # BufferSend=5

    ### Option: BufferSize
    # Maximum number of values in a memory buffer. The agent will send
    # all collected data to Zabbix Server or Proxy if the buffer is full.
    #
    # Mandatory: no
    # Range: 2-65535
    # Default:
    # BufferSize=100

    ### Option: MaxLinesPerSecond
    # Maximum number of new lines the agent will send per second to Zabbix Ser ver
    # or Proxy processing 'log' and 'logrt' active checks.
    # The provided value will be overridden by the parameter 'maxlines',
    # provided in 'log' or 'logrt' item keys.
    #
    # Mandatory: no
    # Range: 1-1000
    # Default:
    # MaxLinesPerSecond=100


    ############ ADVANCED PARAMETERS #################

    ### Option: StartAgents
    # Number of pre-forked instances of zabbix_agentd that process passive che cks.
    #
    # Mandatory: no
    # Range: 1-16
    # Default:
    # StartAgents=3

    ### Option: Timeout
    # Spend no more than Timeout seconds on processing
    #
    # Mandatory: no
    # Range: 1-30
    # Default:
    # Timeout=3

    ### Option: Include
    # You may include individual files or all files in a directory in the conf iguration file.
    #
    # Mandatory: no
    # Default:
    # Include=

    # Include=/etc/zabbix/zabbix_agent.userparams.conf
    # Include=/etc/zabbix/zabbix_agentd/


    ####### USER-DEFINED MONITORED PARAMETERS #######

    ### Option: UnsafeUserParameters
    # Allow all characters to be passed in arguments to user-defined parameter s.
    # 0 - do not allow
    # 1 - allow
    #
    # Mandatory: no
    # Range: 0-1
    # Default:
    # UnsafeUserParameters=0

    ### Option: UserParameter
    # User-defined parameter to monitor. There can be several user-defined par ameters.
    # Format: UserParameter=<key>,<shell command>
    # Note that shell command must not return empty string or EOL only.
    # Example: UserParameter=system.test,who|wc -l
    #UserParameter=system.test,who|wc -l
    ### Set of parameters for monitoring MySQL server (v3.23.42 and later)
    ### Change -u<username> and add -p<password> if required
    UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
    UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
    UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
    UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d" S"
    UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 - d"O"
    UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
    UserParameter=mysql.version,mysql -V
    [root@bowser zabbix]#
  • Slesers
    Junior Member
    • Feb 2011
    • 11

    #2
    For me worked solution to create user with read only permissions and info can be accessible.

    Comment

    • g18c
      Junior Member
      • Mar 2010
      • 9

      #3
      Hi thanks for the reply, since i am a total newb to MySQL, would i create a read only user for access to certain tables, and if so what are the system stats tables?

      Many thanks,

      Chris

      Comment

      • g18c
        Junior Member
        • Mar 2010
        • 9

        #4
        hi just to let you know im all set:

        mysql --user=root mysql
        CREATE USER ''zabbix'@'localhost';@'localhost' IDENTIFIED BY 'pass';
        GRANT SELECT ON *.* TO 'zabbix'@'localhost';

        I then change the daemon config to:

        UserParameter=mysql.ping,mysqladmin -uzabbix -pmoon2010 ping|grep alive|wc -l
        UserParameter=mysql.uptime,mysqladmin -uzabbix -pmoon2010 status|cut -f2 -d":"|cut -f1 -d"T"
        UserParameter=mysql.threads,mysqladmin -uzabbix -pmoon2010 status|cut -f3 -d":"|cut -f1 -d"Q"
        UserParameter=mysql.questions,mysqladmin -uzabbix -pmoon2010 status|cut -f4 -d":"|cut -f1 -d"S"
        UserParameter=mysql.slowqueries,mysqladmin -uzabbix -pmoon2010 status|cut -f5 -d":"|cut -f1 -d"O"
        UserParameter=mysql.qps,mysqladmin -uzabbix -pmoon2010 status|cut -f9 -d":"
        UserParameter=mysql.version,mysql -V

        And it works

        Comment

        Working...