mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 05:12:30 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			120 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			120 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
Configuration
 | 
						|
=============
 | 
						|
 | 
						|
Location
 | 
						|
--------
 | 
						|
 | 
						|
The configuration file for ``goconserver`` is located at ``/etc/goconserver/server.conf``.
 | 
						|
When the configuration is changed, reload using: ``systemctl restart goconserver.service``.
 | 
						|
An example for the configuration could be found from
 | 
						|
`Example Conf <https://github.com/xcat2/goconserver/blob/master/etc/goconserver/server.conf>`_.
 | 
						|
 | 
						|
Tag For xCAT
 | 
						|
------------
 | 
						|
 | 
						|
xCAT generates a configuration file that includes a identifier on the first
 | 
						|
line. For example:  ::
 | 
						|
 | 
						|
    #generated by xcat Version 2.13.10 (git commit 7fcd37ffb7cec37c021ab47d4baec151af547ac0, built Thu Jan 25 07:15:36 EST 2018)
 | 
						|
 | 
						|
``makegocons`` checks for this token and will not make changes to the
 | 
						|
configuration file if it exists.  This gives the user the ability to customize
 | 
						|
the configuration based on their specific site configuration.
 | 
						|
 | 
						|
 | 
						|
Multiple Output Plugins
 | 
						|
-----------------------
 | 
						|
 | 
						|
``goconserver`` support console redirection to multiple targets with ``file``,
 | 
						|
``tcp`` and ``udp`` logger plugins. The entry could be found like below: ::
 | 
						|
 | 
						|
    console:
 | 
						|
      # the console session port for client(congo) to connect.
 | 
						|
      port: 12430
 | 
						|
 | 
						|
      logger:
 | 
						|
        # for file logger
 | 
						|
        file:
 | 
						|
          # multiple file loggers could be specified
 | 
						|
          # valid fields: name, logdir
 | 
						|
          - name: default
 | 
						|
            logdir: /var/log/goconserver/nodes/
 | 
						|
          - name: xCAT
 | 
						|
            logdir: /var/log/consoles
 | 
						|
 | 
						|
        tcp:
 | 
						|
          - name: logstash
 | 
						|
            host: briggs01
 | 
						|
            port: 9653
 | 
						|
            ssl_key_file: /etc/xcat/cert/server-cred.pem
 | 
						|
            ssl_cert_file: /etc/xcat/cert/server-cred.pem
 | 
						|
            ssl_ca_cert_file: /etc/xcat/cert/ca.pem
 | 
						|
 | 
						|
          - name: rsyslog
 | 
						|
            host: sn02
 | 
						|
            port: 9653
 | 
						|
 | 
						|
        udp:
 | 
						|
          - name: filebeat
 | 
						|
            host: 192.168.1.5
 | 
						|
            port: 512
 | 
						|
 | 
						|
With the configuration above, the console log files for each node would be written in
 | 
						|
both ``/var/log/goconserver/nodes/<node>.log`` and ``/var/log/consoles/<node>.log``.
 | 
						|
In addition, console log content will be redirected into remote services
 | 
						|
specified in the tcp and udp sections.
 | 
						|
 | 
						|
Verification
 | 
						|
------------
 | 
						|
 | 
						|
To check if ``goconserver`` works correctly, see the log file ``/var/log/goconserver/server.log``.
 | 
						|
 | 
						|
    #. Check if TCP logger has been activated.
 | 
						|
 | 
						|
       When starting ``goconserver``, if the log message is like below, it
 | 
						|
       means the TCP configuration has been activated. ::
 | 
						|
 | 
						|
         {"file":"github.com/xcat2/goconserver/console/logger/tcp.go (122)","level":"info","msg":"Starting TCP publisher: logstash","time":"2018-03-02T21:15:35-05:00"}
 | 
						|
         {"file":"github.com/xcat2/goconserver/console/logger/tcp.go (122)","level":"info","msg":"Starting TCP publisher: sn02","time":"2018-03-02T21:15:35-05:00"}
 | 
						|
 | 
						|
    #. Debug when encounter error about TCP logger
 | 
						|
 | 
						|
       If the remote service is not started or the network is unreachable, the
 | 
						|
       log message would be like below. ::
 | 
						|
 | 
						|
         {"file":"github.com/xcat2/goconserver/console/logger/tcp.go (127)","level":"error","msg":"TCP publisher logstash: dial tcp 10.6.27.1:9653: getsockopt: connection refused","time":"2018-03-07T21:12:58-05:00"}
 | 
						|
 | 
						|
       Check the service status and the network configuration including the
 | 
						|
       ``selinux`` and ``iptable rules``. When the remote service works
 | 
						|
       correctly, TCP or UDP logger of ``goconserver`` would recover automatically.
 | 
						|
 | 
						|
Reconnect Interval
 | 
						|
------------------
 | 
						|
 | 
						|
If console node is defined with ``ondemand=false``, when the console connection
 | 
						|
could not be established, ``goconserver`` would reconnect automatically. The
 | 
						|
interval time could be specified at ::
 | 
						|
 | 
						|
    console:
 | 
						|
      # retry interval in second if console could not be connected.
 | 
						|
      reconnect_interval: 10
 | 
						|
 | 
						|
Performance Tuning
 | 
						|
------------------
 | 
						|
 | 
						|
Adjust the worker numbers to leverage multi-core processor performance based on
 | 
						|
the site configuration. ::
 | 
						|
 | 
						|
    global:
 | 
						|
      # the max cpu cores for workload
 | 
						|
      worker: 4
 | 
						|
 | 
						|
Debug
 | 
						|
-----
 | 
						|
 | 
						|
The log level for ``goconserver`` is defined in ``/etc/goconserver/server.conf`` ::
 | 
						|
 | 
						|
    global:
 | 
						|
      # debug, info, warn, error, fatal, panic
 | 
						|
      log_level: info
 |