WAN-Erweiterung Events

Antworten
Dareko
Beiträge: 7
Registriert: 25 Jan 2018, 15:58

WAN-Erweiterung Events

Beitrag von Dareko »

Werte Gemeinde,

die "automatische" Installation der Pakete (bzw. noch nicht einmal das Caching) die ich über den configed-editor auf "Setup" stelle funktioniert leider nicht. Weder nach einem Neustart, noch automatisch. NUR wenn ich das Netzwerkkabel des Clients kurz trenne ... irgendwas muss ich da wohl falsch konfiguriert haben?! :oops:
Oder habe ich da einen Denkfehler? Wenn ich ein Paket auf "Setup" stelle, sollte der Client doch spätestens nach 3600Sek (also 1Stunde) automatisch mit dem Cachen anfangen und dann den Benutzer danach der Installation/Reboot etc. fragen?

Die Paketverteilung soll nur über die WAN-Erweiterung im Hintergrund stattfinden. Da wir an kleineren Standorten noch zum Teil 2Mbit/s :roll: Anbindungen haben, soll der Login der Benutzer bei neuen Paketen nicht vom login blocker geblockt werden (das Paket aber direkt gecached werden). Andernfalls müssten die Benutzer 10 Minuten oder länger warten bis Sie überhaupt arbeiten könnten, das ist natürlich nicht praktikabel.

Nachfolgend die opsiclientd.conf eines Clients.

Code: Alles auswählen

; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
; =     configuration file for opsiclientd                              =
; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =


; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     global settings                                                 -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[global]

# Location of the log file.
log_file = c:\\opsi.org\\log\\opsiclientd.log

# Set the log (verbosity) level
# (0 <= log level <= 9)
# 0: nothing, 1: essential, 2: critical, 3: errors, 4: warnings, 5: notices
# 6: infos, 7: debug messages, 8: more debug messages, 9: passwords
log_level = 6

# Client id.
host_id = host001.meinedomain.local

# Opsi host key.
opsi_host_key = c73cd9a0dc337254f2eeb2b42e524ef6

# Verify opsi server certs
verify_server_cert = False

# Verify opsi server certs by ca
verify_server_cert_by_ca = False

# On every daemon startup the user login gets blocked
# If the gui starts up and no events are being processed the login gets unblocked
# If no gui startup is noticed after <wait_for_gui_timeout> the login gets unblocked
# Set to 0 to wait forever
wait_for_gui_timeout = 120

# Application to run while blocking login
block_login_notifier = %global.base_dir%\\notifier.exe -s notifier\\block_login.ini

# Use a proxy for connecting configservice
# proxy_mode:
#   'system' will try to check the system setting,
#   'static' to use proxyurl from configfile/hostparameter
# proxy_url usage: http://<user>:<password>@<proxy-url>:<proxy-port>
# Example: http://proxyuser:proxypass123@proxy.domain.local:8080
proxy_mode = static
proxy_url = 
base_dir = C:\Program Files (x86)\opsi.org\opsi-client-agent
locale_dir = C:\Program Files (x86)\opsi.org\opsi-client-agent\locale
log_dir = C:\opsi.org\log
server_cert_dir = C:\opsi.org\opsiclientd\server-certs
state_file = C:\opsi.org\opsiclientd\state.json
timeline_db = C:\opsi.org\opsiclientd\timeline.sqlite

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     config service settings                                         -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[config_service]
# Service url.
# http(s)://<opsi config server address>:<port>/rpc
url = https://opsiserver.meinedomain.local:4447/rpc

# Conection timeout.
connection_timeout = 10

# The time in seconds after which the user can cancel the connection establishment
user_cancelable_after = 30

# If this option is set, the local system time will be synced with time from service
sync_time_from_service = False

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     depot server settings                                           -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[depot_server]

# Depot server id
depot_id = opsiserver.meinedomain.local

# Depot url.
# smb://<depot address>/<share name>/<path to products>
url = 

# Local depot drive
drive = o:

# Username that is used for network connection [domain\]<username>
username = pcpatch

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     cache service settings                                          -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[cache_service]
# Maximum product cache size in bytes
product_cache_max_size = 20000000000
# Members of this ProductGroups will be excluded from processing
exclude_product_group_ids = 
# Only members of this ProductGroups will be excluded from processing
include_product_group_ids = 
extension_config_dir = C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd\extend.d
storage_dir = C:\opsi.org\cache

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     control server settings                                         -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[control_server]

# The network interfaces to bind to.
# This must be the IP address of an network interface.
# Use 0.0.0.0 to listen to all interfaces
interface = 0.0.0.0

# The port where opsiclientd will listen for HTTPS rpc requests.
port = 4441

# The location of the server certificate.
ssl_server_cert_file = %global.base_dir%\\opsiclientd\\opsiclientd.pem

# The location of the server private key
ssl_server_key_file = %global.base_dir%\\opsiclientd\\opsiclientd.pem

# The location of the static files
static_dir = %global.base_dir%\\opsiclientd\\static_html

# The maximum number of authentication failures before a client ip
# is blocked for an amount of time.
max_authentication_failures = 5

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     notification server settings                                    -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[notification_server]

# The network interfaces to bind to.
# This must be the IP address of an network interface.
# Use 0.0.0.0 to listen to all interfaces
interface = 127.0.0.1

# The first port where opsiclientd will listen for notification clients.
start_port = 44000

# Port for popup notification server
popup_port = 45000
port = 4442

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     opsiclientd notifier settings                                   -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[opsiclientd_notifier]

# Notifier application command
command = %global.base_dir%\\notifier.exe -p %port% -i %id%

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     opsiclientd rpc tool settings                                   -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[opsiclientd_rpc]

# RPC tool command
command = %global.base_dir%\\opsiclientd_rpc.exe "%global.host_id%" "%global.opsi_host_key%" "%control_server.port%"

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     action processor settings                                       -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[action_processor]
# Locations of action processor
local_dir = %global.base_dir%\\opsi-winst
remote_dir = opsi-winst\\files\\opsi-winst
filename = winst32.exe

# Action processor command
command = "%action_processor.local_dir%\\%action_processor.filename%" /opsiservice "%service_url%" /clientid %global.host_id% /username %global.host_id% /password %global.opsi_host_key%

# Load profile / environment of %run_as_user%
create_environment = False
create_user = True
delete_user = True
run_as_user = SYSTEM

; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
; -     events                                                          -
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[event_default]
; === Event configuration
# Type of the event (string)
type = template
# Interval for timer events in seconds (int)
interval = -1
# Maximum number of event repetitions after which the event will be deactivated (int, -1 = forever)
max_repetitions = -1
# Time in seconds to wait before event becomes active (int, 0 to disable delay)
activation_delay = 0
# Time in seconds to wait before an event will be fired (int, 0 to disable delay)
notification_delay = 0
# Event notifier command (string)
event_notifier_command = %opsiclientd_notifier.command% -s notifier\\event.ini
# The desktop on which the event notifier will be shown on (current/default/winlogon)
event_notifier_desktop = current
# Block login while event is been executed (bool)
block_login = false
# Lock workstation on event occurrence (bool)
lock_workstation = false
# Logoff the current logged in user on event occurrence (bool)
logoff_current_user = false
# Get config settings from service (bool)
get_config_from_service = true
# Store config settings in config file (bool)
update_config_file = true
# Transmit log file to opsi service after the event processing has finished (bool)
write_log_to_service = true
# Shutdown machine after action processing has finished (bool)
shutdown = false
# Reboot machine after action processing has finished (bool)
reboot = false
# Members of this ProductGroups will be excluded from processing
exclude_product_group_ids = 
# Only members of this ProductGroups will be excluded from processing
include_product_group_ids = 

; === Sync/cache settings
# Sync configuration from local config cache to server (bool)
sync_config_to_server = false
# Sync configuration from server to local config cache (bool)
sync_config_from_server = false
# Sync configuration from local config cache to server after action processing (bool)
post_sync_config_to_server = false
# Sync configuration from server to local config cache after action processing (bool)
post_sync_config_from_server = false
# Work on local config cache
use_cached_config = false
# Cache products for which actions should be executed in local depot cache (bool)
cache_products = false
# Maximum transfer rate when caching products in byte/s (int, 0 = no limit)
cache_max_bandwidth = 0
# Dynamically adapt bandwith to other network traffic (bool)
cache_dynamic_bandwidth = false
# Work on local depot cache
use_cached_products = false

; === Action notification (if product actions should be processed)
# Time in seconds for how long the action notification is shown (int, 0 to disable)
action_warning_time = 0
# Action notifier command (string)
action_notifier_command = %opsiclientd_notifier.command% -s notifier\\action.ini
# The desktop on which the action notifier will be shown on (current/default/winlogon)
action_notifier_desktop = current
# Message shown in the action notifier window (string)
action_message = Starting to process product actions. You are allowed to cancel this event a total of %action_user_cancelable% time(s). The event was already canceled %state.action_processing_cancel_counter% time(s).
# German translation (string)
action_message[de] = Starte die Bearbeitung von Produkt-Aktionen. Sie können diese Aktion insgesamt %action_user_cancelable% mal abbrechen. Die Aktion wurde bereits %state.action_processing_cancel_counter% mal abgebrochen.
# French translation (string)
action_message[fr] = Traitement des actions du produit. Vous êtes autorisé à annuler cet événement un total de %action_user_cancelable% fois. L'événement a été déjà annulée %state.action_processing_cancel_counter% fois.
# Number of times the user is allowed to cancel the execution of actions (int)
action_user_cancelable = 0

; === Action processing
# Should action be processed by action processor (bool)
process_actions = true
# Type of action processing (default/login)
action_type = default
# Update the action processor from server before starting it (bool)
update_action_processor = true
# Command which should be executed before start of action processor
pre_action_processor_command = 
# Action processor command (string)
action_processor_command = %action_processor.command%
# The desktop on which the action processor command will be started on (current/default/winlogon)
action_processor_desktop = current
# Action processor timout in seconds (int)
action_processor_timeout = 10800
# Command which should be executed before after action processor has ended
post_action_processor_command = 

; === Shutdown notification (if machine should be shut down or rebooted)
# Process shutdown requests from action processor
process_shutdown_requests = true
# Time in seconds for how long the shutdown notification is shown (int, 0 to disable)
shutdown_warning_time = 0
# Shutdown notifier command (string)
shutdown_notifier_command = %opsiclientd_notifier.command% -s notifier\\shutdown.ini
# The desktop on which the action notifier will be shown on (current/default/winlogon)
shutdown_notifier_desktop = current
# Message shown in the shutdown notifier window (string)
shutdown_warning_message = A reboot is required to complete software installation tasks. You are allowed to delay this reboot a total of %shutdown_user_cancelable% time(s). The reboot was already delayed %state.shutdown_cancel_counter% time(s).
# German translation (string)
shutdown_warning_message[de] = Ein Neustart wird benötigt um die Software-Installationen abzuschliessen. Sie können diesen Neustart insgesamt %shutdown_user_cancelable% mal verschieben. Der Neustart wurde bereits %state.shutdown_cancel_counter% mal verschoben.
# French translation (string)
shutdown_warning_message[fr] = Un redémarrage est nécessaire pour terminer l'installation du logiciel. Vous êtes autorisé à retarder le redémarrage un total de %shutdown_user_cancelable% fois. Le redémarrage a été déjà retardé %state.shutdown_cancel_counter% fois.
# Number of times the user is allowed to cancel the shutdown (int)
shutdown_user_cancelable = 0
# Time in seconds after the shutdown notification will be shown again after the user has canceled the shutdown (int)
shutdown_warning_repetition_time = 3600

[event_gui_startup]
super = default
type = gui startup
name = gui_startup
block_login = false
active = False

[event_gui_startup{user_logged_in}]
name = gui_startup
shutdown_warning_time = 3600
block_login = false
active = False

[event_gui_startup{cache_ready}]
use_cached_config = true
use_cached_products = true
action_user_cancelable = 3
action_warning_time = 60

[event_gui_startup{installation_pending}]
name = gui_startup
active = True

[event_on_demand]
super = default
type = custom
name = on_demand

[event_on_demand{user_logged_in}]
name = on_demand
shutdown_warning_time = 3600

[event_software_on_demand]
super = default
shutdown_warning_time = 3600
type = sw on demand

[event_sync]
super = default
type = template
process_actions = false
event_notifier_command = 
sync_config_to_server = true
sync_config_from_server = true
cache_products = true
cache_dynamic_bandwidth = true

[event_timer]
super = sync
type = timer
active = True
interval = 3600

[event_net_connection]
super = sync
type = custom
active = True
wql = SELECT * FROM __InstanceModificationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_NetworkAdapter' AND TargetInstance.NetConnectionStatus = 2 AND PreviousInstance.NetConnectionStatus != 2

[event_sync_completed]
super = default
type = sync completed
event_notifier_command = 
process_actions = false
get_config_from_service = false
write_log_to_service = false

[event_sync_completed{cache_ready_user_logged_in}]
reboot = true
shutdown_user_cancelable = 10
shutdown_warning_time = 3600

[event_sync_completed{cache_ready}]
reboot = true

[event_user_login]
super = default
type = user login
action_type = login
active = False
action_message = Starting to process user login actions.
action_message[de] = Beginne mit der Verarbeitung der Benutzer-Anmeldungs-Aktionen.
action_message[fr] = Traitement des actions à la connexion de l'utilisateur.
block_login = false
process_shutdown_requests = false
get_config_from_service = false
update_config_file = false
write_log_to_service = false
update_action_processor = true
event_notifier_command = %opsiclientd_notifier.command% -s notifier\\userlogin.ini
event_notifier_desktop = default
action_processor_command = %action_processor.command% /sessionid %service_session% /allloginscripts /silent
action_processor_desktop = default
action_processor_timeout = 300

[event_on_shutdown]
super = default
type = custom
name = on_shutdown
active = False

[event_on_shutdown{installation_pending}]
name = on_shutdown
active = False

[event_silent_install]
super = default
type = custom
name = silent_install
event_notifier_command = 
process_shutdown_requests = false
action_processor_command = %action_processor.command% /productlist %action_processor_productIds% /silent
action_processor_desktop = winlogon
action_processor_timeout = 300
action_processor_productids = swaudit,hwaudit

[event_timer_silentinstall]
super = silent_install
type = timer
active = False
interval = 21600

[precondition_user_logged_in]
user_logged_in = true

[precondition_cache_ready]
config_cached = true
products_cached = true

[precondition_cache_ready_user_logged_in]
user_logged_in = true
config_cached = true
products_cached = true

[precondition_installation_pending]
installation_pending = true
Vielen Dank im Voraus! :)

Freundliche Grüße
D.
Dareko
Beiträge: 7
Registriert: 25 Jan 2018, 15:58

Re: WAN-Erweiterung Events

Beitrag von Dareko »

Muss mich leider verbessern, auch das Netzwerkkabel ziehen des Clients führt aktuell zu keinem Event ... :shock:
Dareko
Beiträge: 7
Registriert: 25 Jan 2018, 15:58

Re: WAN-Erweiterung Events

Beitrag von Dareko »

Nach einer neuisntallation des opsi-client-agents scheint es nun zu laufen ... komisch.

Da stelle ich mir zwei Fragen.

1. Ich hatte in den Host-Paramtern des Depotservers in die opsiclientd den Eintrag "opsiclientd.event_gui_startup.block.login = false" eingetragen und wollte dies für die zukünftigen opsi-client-agents nutzen (dass der Login nicht blockiert wird). Hat dies zur Folge, dass alle bestehenden opsi-client-agents aufgrund der host-parameter-änderung nicht mehr mit dem Depot kommunizieren (können)?

2. Besteht die Möglichtkeit nur die "Einstellungen" des opsi-client-agents zu aktualisieren? Es ist aufgrund unserer vielen verschiedenen Internetanbindungen nicht optimal wenn wir für "kleinen Anpassungen" den gesamten Client von ~200MB neu ausrollen müssen.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: WAN-Erweiterung Events

Beitrag von n.wenselowski »

Hi,

ich kann einen Supportvertrag dringend empfehlen!
Und auch eine Schulung!

Die Agents werden sich eine neue Config abholen, wenn sie den Server kontaktieren.
Event-Änderungen greifen nicht sofort im Betrieb, dafür wird ein Neustart benötigt.

Das Blocken des Logins hat nichts damit zu tun ob vom Server neue Configs angefragt werden.
Ob ein Netzwerkkabel ein Event auslöst sieht man entweder im Log des Clients oder auf seiner Infopage.


Gruß

Niko

Code: Alles auswählen

import OPSI
Dareko
Beiträge: 7
Registriert: 25 Jan 2018, 15:58

Re: WAN-Erweiterung Events

Beitrag von Dareko »

n.wenselowski hat geschrieben:Hi,

ich kann einen Supportvertrag dringend empfehlen!
Und auch eine Schulung!

Die Agents werden sich eine neue Config abholen, wenn sie den Server kontaktieren.
Event-Änderungen greifen nicht sofort im Betrieb, dafür wird ein Neustart benötigt.
Aha, vielen Dank für den Hinweis!
Jeder boot tut gut ... :mrgreen:
n.wenselowski hat geschrieben: Das Blocken des Logins hat nichts damit zu tun ob vom Server neue Configs angefragt werden.
Ob ein Netzwerkkabel ein Event auslöst sieht man entweder im Log des Clients oder auf seiner Infopage.

Gruß

Niko
Danke für den Hinweis - war mir aber bereits bekannt. Die Infopage ist wirklich super! 8-)

Freundliche Grüße und ein schönes Wochenende
D.
Antworten