OpenVPN ਦੇ ਲੌਗ ਕਿਸ ਦੇ ਹਨ: ਡੈਮਨ, rsyslog ਜਾਂ logrotate?
ਇੱਕ ਲੇਖਕ, ਇੱਕ ਘੁਮਾਉਣ ਵਾਲਾ, ਇੱਕ ਰੱਖ-ਰਖਾਅ ਨੀਤੀ। ਪਹਿਲਾਂ ਰਾਹ ਚੁਣੋ, ਤੰਗ ਫਿਲਟਰ ਲਈ ਡੈਮਨ ਨੂੰ ਨਾਮ ਦਿਓ, ਅਤੇ ਇੱਕ ਹੀ ਘੁਮਾਈ ਫਾਈਲ ਨਾਲ ਦੁਬਾਰਾ ਖੁੱਲ੍ਹਣਾ ਸਿੱਧ ਕਰੋ।
ਲੌਗ ਘੁਮਾਉਣਾ ਇੱਕ ਅਨੁਮਾਨਿਤ ਢੰਗ ਨਾਲ ਟੁੱਟਦਾ ਹੈ: ਤਿੰਨ ਭਾਗਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਮੰਨਦਾ ਹੈ ਕਿ ਫਾਈਲ ਉਸਦੀ ਹੈ, ਅਤੇ ਨਤੀਜਾ ਉਹ ਘੁਮਾਇਆ ਲੌਗ ਹੁੰਦਾ ਹੈ ਜੋ ਨਵੀਂ ਖਾਲੀ ਰਹਿੰਦਿਆਂ ਵੀ ਵਧਦਾ ਰਹਿੰਦਾ ਹੈ। ਡੈਮਨ ਇੱਕ ਡਿਸਕ੍ਰਿਪਟਰ ਰੱਖਦਾ ਹੈ, logrotate ਰਾਹ ਦਾ ਨਾਮ ਬਦਲਦਾ ਹੈ, ਅਤੇ rsyslog ਬਿਲਕੁਲ ਹੋਰ ਥਾਂ ਲਿਖਦਾ ਹੈ। ਢੇਰ ਵਿੱਚ ਇੱਕ ਹੋਰ ਨਿਯਮ ਪਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਲੇਖਕ ਅਤੇ ਇੱਕ ਘੁਮਾਉਣ ਵਾਲਾ ਚੁਣੋ। ਹੇਠਾਂ ਦਿੱਤੀ ਜਾਂਚ-ਸੂਚੀ ਉਸੇ ਕ੍ਰਮ ਵਿੱਚ ਚੱਲਦੀ ਹੈ, ਕਿਉਂਕਿ ਹਰ ਅਗਲਾ ਕਦਮ ਉਸ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ।
ਤੈਅ ਕਰੋ ਕਿ ਫਾਈਲ ਕੌਣ ਲਿਖਦਾ ਹੈ
ਦੋ ਡਿਜ਼ਾਈਨ ਜਾਇਜ਼ ਹਨ। ਪਹਿਲੇ ਵਿੱਚ VPN ਪ੍ਰਕਿਰਿਆ ਆਪਣੇ log ਜਾਂ log-append ਵਿਕਲਪ ਰਾਹੀਂ ਆਪ ਫਾਈਲ ਲਿਖਦੀ ਹੈ। ਦੂਜੇ ਵਿੱਚ ਇਹ ਰਿਕਾਰਡ ਸਿਸਟਮ ਲੌਗਰ ਨੂੰ ਭੇਜਦੀ ਹੈ ਅਤੇ rsyslog ਜਾਂ journald ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਉਹ ਕਿੱਥੇ ਉਤਰਨਗੇ।
ਇਹ ਬਦਲ ਹਨ, ਪਰਤਾਂ ਨਹੀਂ। ਜੋ ਹੋਸਟ ਦੋਵੇਂ ਚਾਲੂ ਕਰਦਾ ਹੈ ਉਹ ਅੰਤ ਵਿੱਚ ਦੋ ਫਾਈਲਾਂ ਨਾਲ ਰਹਿ ਜਾਂਦਾ ਹੈ ਜੋ ਮੇਲ ਨਹੀਂ ਖਾਂਦੀਆਂ, ਅਤੇ ਤੁਸੀਂ ਜੋ ਪੜ੍ਹ ਰਹੇ ਹੋ ਉਹ ਅਕਸਰ ਪੁਰਾਣੀ ਹੁੰਦੀ ਹੈ। ਰਾਹ ਜਾਣ-ਬੁੱਝ ਕੇ ਚੁਣੋ, ਫਿਰ ਦੂਜੇ ਲੇਖਕ ਨੂੰ ਹਟਾ ਦਿਓ।
ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੇਵਾ ਦੀ ਪ੍ਰਭਾਵੀ ਸੰਰਚਨਾ ਪੜ੍ਹੋ, ਉਹਨਾਂ drop-in ਫਾਈਲਾਂ ਸਮੇਤ ਜੋ unit ਫਾਈਲ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰ ਸਕਦੀਆਂ ਹਨ। ਜਿਹੜੀ ਪ੍ਰੋਫਾਈਲ ਤੁਸੀਂ ਸੰਪਾਦਿਤ ਕੀਤੀ ਉਸ ਵਿੱਚਲਾ ਨਿਰਦੇਸ਼ ਇਸ ਗੱਲ ਦਾ ਸਬੂਤ ਨਹੀਂ ਕਿ ਉਹੀ ਉਹ ਨਿਰਦੇਸ਼ ਹੈ ਜੋ ਚੱਲ ਰਹੀ ਪ੍ਰਕਿਰਿਆ ਨੇ ਲੋਡ ਕੀਤਾ। unit ਦੀ ਤੁਲਨਾ ਪ੍ਰਕਿਰਿਆ ਦੇ ਆਰਗਿਊਮੈਂਟਾਂ ਨਾਲ, ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਫਾਈਲਾਂ ਨਾਲ ਕਰੋ ਜੋ ਇਸਨੇ ਅਸਲ ਵਿੱਚ ਖੋਲ੍ਹੀਆਂ।
ਡੈਮਨ ਨੂੰ ਨਾਮ ਦਿਓ ਤਾਂ ਜੋ ਫਿਲਟਰ ਤੰਗ ਰਹੇ
syslog ਰਾਹ ਉੱਤੇ ਡੈਮਨ ਨੂੰ ਵੱਖਰੀ ਪਛਾਣ ਦਿਓ ਅਤੇ ਉਸੇ ਉੱਤੇ ਫਿਲਟਰ ਕਰੋ। ਜੋ ਨਿਯਮ ਇਸ VPN ਇੰਸਟੈਂਸ ਦੇ ਪ੍ਰੋਗਰਾਮ ਨਾਮ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਉਹ ਇਸਦੇ ਰਿਕਾਰਡਾਂ ਨੂੰ ਉਸ ਸਾਂਝੀ ਫਾਈਲ ਤੋਂ ਬਾਹਰ ਰੱਖਦਾ ਹੈ ਜਿਸਦੀ ਰੱਖ-ਰਖਾਅ ਨੀਤੀ ਕਿਸੇ ਹੋਰ ਦੀ ਹੈ।
ਤੰਗ ਨਿਯਮ ਅਗਲੇ ਸਵਾਲ ਦਾ ਵੀ ਜਵਾਬ ਦੇਣਯੋਗ ਬਣਾਉਂਦੇ ਹਨ: ਇਹ ਲਾਈਨ ਕਿਹੜੀ ਸੇਵਾ ਨੇ ਬਣਾਈ? ਜੋ ਫਿਲਟਰ VPN ਸ਼ਬਦ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ ਉਹ ਖੁਸ਼ੀ ਨਾਲ ਦੂਜੀ ਸੁਰੰਗ ਦਾ ਟ੍ਰੈਫਿਕ ਵੀ ਇਕੱਠਾ ਕਰ ਲਵੇਗਾ ਅਤੇ ਦੋਵਾਂ ਨੂੰ ਧੁੰਦਲਾ ਕਰ ਦੇਵੇਗਾ। unit ਜੋ ਸਹੀ ਪਛਾਣਕਰਤਾ ਲੌਗਰ ਨੂੰ ਦਿੰਦਾ ਹੈ ਉਸ ਨਾਲ ਮਿਲਾਓ।
ਰਿਕਾਰਡ ਡਿਫਾਲਟ ਮੰਜ਼ਿਲ ਵਿੱਚ ਵੀ ਨਾ ਡਿੱਗਣ ਲਈ ਕਾਰਵਾਈ ਤੋਂ ਬਾਅਦ ਨਿਯਮ ਬੰਦ ਕਰੋ। ਦੋ ਫਾਈਲਾਂ ਵਿੱਚ ਦੁਹਰਾਈਆਂ ਲਾਈਨਾਂ ਲੌਗਿੰਗ ਬੱਗ ਵਰਗੀਆਂ ਲੱਗਦੀਆਂ ਹਨ ਅਤੇ ਅਸਲ ਵਿੱਚ ਉਹ ਗੁੰਮ ਰੁਕਾਵਟ ਹੁੰਦੀਆਂ ਹਨ। ਉਹੀ ਇੱਕ ਛੋਟ ਰੱਖ-ਰਖਾਅ ਨੀਤੀ ਦਾ ਡਿਸਕ ਖਰਚ ਵੀ ਦੁੱਗਣਾ ਕਰ ਦਿੰਦੀ ਹੈ।
ਡਿਸਕ੍ਰਿਪਟਰ ਗੁਆਏ ਬਿਨਾਂ ਘੁਮਾਓ
ਜਦੋਂ ਡੈਮਨ ਫਾਈਲ ਲਿਖਦਾ ਹੈ, logrotate ਰਾਹ ਦਾ ਨਾਮ ਬਦਲਦਾ ਹੈ ਪਰ ਪ੍ਰਕਿਰਿਆ ਆਪਣਾ ਖੁੱਲ੍ਹਾ ਡਿਸਕ੍ਰਿਪਟਰ ਰੱਖਦੀ ਹੈ। ਨਵੇਂ ਰਿਕਾਰਡ ਨਾਮ ਬਦਲੀ ਫਾਈਲ ਵਿੱਚ ਚੱਲਦੇ ਰਹਿੰਦੇ ਹਨ, ਜਦ ਤੱਕ ਕੁਝ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਮੂਲ ਰਾਹ ਦੁਬਾਰਾ ਖੋਲ੍ਹਣ ਲਈ ਮਜਬੂਰ ਨਹੀਂ ਕਰਦਾ; ਇਸੇ ਲਈ ਘੁਮਾਉਣਾ ਕੰਮ ਕਰਦਾ ਲੱਗ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਨਵੀਂ ਫਾਈਲ ਖਾਲੀ ਰਹਿੰਦੀ ਹੈ।
ਹੱਲ ਉਹ postrotate ਕਾਰਵਾਈ ਹੈ ਜੋ ਸੇਵਾ ਦੇ ਦਸਤਾਵੇਜ਼ੀ ਰੀਲੋਡ ਜਾਂ ਰੀਸਟਾਰਟ ਵਿਵਹਾਰ ਨੂੰ ਚਾਲੂ ਕਰਦੀ ਹੈ। ਲੌਗਰ ਨੂੰ ਸਿਗਨਲ ਭੇਜਣਾ ਬਿਲਕੁਲ ਵੱਖਰੀ ਕਾਰਵਾਈ ਹੈ ਅਤੇ ਆਪਣੀ ਫਾਈਲ ਰੱਖਣ ਵਾਲੇ ਡੈਮਨ ਲਈ ਕੁਝ ਨਹੀਂ ਕਰਦੀ।
ਜਿੱਥੇ ਦੁਬਾਰਾ ਖੋਲ੍ਹਣਾ ਅਸੰਭਵ ਹੈ, ਉੱਥੇ copytruncate ਬਦਲ ਹੈ: ਫਾਈਲ ਕਾਪੀ ਕਰੋ, ਫਿਰ ਉਸੇ ਥਾਂ ਕੱਟ ਦਿਓ। ਇਹ ਡਿਸਕ੍ਰਿਪਟਰ ਨੂੰ ਵੈਧ ਰੱਖਦਾ ਹੈ ਪਰ ਕਾਪੀ ਅਤੇ ਕਟਾਈ ਵਿਚਕਾਰ ਲਿਖਿਆ ਸਭ ਕੁਝ ਗੁਆ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਹੱਲ ਨਹੀਂ ਸਗੋਂ ਸੌਦਾ ਹੈ। ਭਾਰ ਹੇਠ ਉਹ ਖਾਲੀ ਥਾਂ ਤੁਹਾਡੇ ਦੁਆਰਾ ਫੜਨ ਵਾਲੀ ਖਰਾਬੀ ਨੂੰ ਹੀ ਨਿਗਲ ਸਕਦੀ ਹੈ।
ਹਰ ਫਾਈਲ ਲਈ ਦੋਵਾਂ ਵਿੱਚੋਂ ਇੱਕ ਚੁਣੋ ਅਤੇ ਚੋਣ ਲਿਖ ਕੇ ਰੱਖੋ, ਕਿਉਂਕਿ ਇੱਕੋ ਰਾਹ ਉੱਤੇ ਦੋਵੇਂ ਮਿਲਾ ਦੇਣ ਨਾਲ ਅਜਿਹੀਆਂ ਖਾਲੀ ਥਾਂਵਾਂ ਬਣਦੀਆਂ ਹਨ ਜੋ ਬਾਅਦ ਵਿੱਚ ਜੋੜਨਾ ਬਹੁਤ ਔਖਾ ਹੁੰਦਾ ਹੈ। ਇੱਕੋ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਦੋਵੇਂ ਪੈਟਰਨ ਮਿਲਣ ’ਤੇ ਪਾਠਕ ਦੱਸ ਨਹੀਂ ਸਕਦਾ ਕਿ ਕਿਹੜਾ ਅਧਿਕਾਰਕ ਹੈ।
ਘਟਨਾ ਦੀ ਖਿੜਕੀ ਤੋਂ ਰੱਖ-ਰਖਾਅ ਤੈਅ ਕਰੋ
ਰੱਖ-ਰਖਾਅ, ਸੰਕੁਚਨ ਅਤੇ ਅਧਿਕਤਮ ਆਕਾਰ ਤੁਹਾਡੇ ਅਸਲ ਵਿੱਚ ਕਿੰਨਾ ਪਿੱਛੇ ਜਾਂਚਣ ’ਤੇ ਆਧਾਰਿਤ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ। ਸੰਕੁਚਨ ਅਤੇ ਆਕਾਰ ਸੀਮਾ ਵਾਲੀ ਸੱਤ ਦਿਨਾਂ ਦੀ ਖਿੜਕੀ ਬਹੁਤ ਸਾਰੀਆਂ ਤੈਨਾਤੀਆਂ ਲਈ ਵਾਜਬ ਸ਼ੁਰੂਆਤ ਹੈ; ਕਿਸੇ ਟਿਊਟੋਰਿਅਲ ਤੋਂ ਨਕਲ ਕੀਤੀ ਸੰਖਿਆ ਨਹੀਂ।
ਨੀਤੀ ਇੱਕੋ ਜਗ੍ਹਾ ਰੱਖੋ। ਜੇ logrotate ਫਾਈਲ ਘੁਮਾਉਂਦਾ ਹੈ ਅਤੇ rsyslog ਵੀ ਉਸਨੂੰ ਘੁਮਾਉਂਦਾ ਹੈ, ਤਾਂ ਦੂਜਾ ਘੁਮਾਉਣਾ ਜਿੱਤਦਾ ਹੈ ਅਤੇ ਪਹਿਲੇ ਦੀ ਨਾਮਕਰਨ ਯੋਜਨਾ ਗੜਬੜ ਵਜੋਂ ਰਹਿ ਜਾਂਦੀ ਹੈ। ਮਾਲਕ ਚੁਣੋ, ਦੂਜਾ ਘੁਮਾਉਣਾ ਬੰਦ ਕਰੋ, ਅਤੇ ਉਹ ਫੈਸਲਾ ਨੀਤੀ ਦੇ ਕੋਲ ਲਿਖੋ।
rsyslog ਦੇ ਦਸਤਾਵੇਜ਼ ਇਸਦੇ ਰੂਟਿੰਗ ਅਤੇ ਕਾਰਵਾਈ ਮਾਡਲ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ, ਜਦੋਂ ਕਿ OpenVPN ਸੇਵਾ ਦੇ ਦਸਤਾਵੇਜ਼ ਡੈਮਨ ਦੇ ਆਪਣੇ ਲੌਗਿੰਗ ਵਿਕਲਪਾਂ ਲਈ ਅਧਿਕਾਰਕ ਰਹਿੰਦੇ ਹਨ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਤੁਹਾਡੀ ਥਾਂ ’ਤੇ ਤੁਹਾਡੀ ਰੱਖ-ਰਖਾਅ ਨੀਤੀ ਤੈਅ ਨਹੀਂ ਕਰਦਾ।
ਇੱਕ ਘੁਮਾਉਣਾ ਅਤੇ ਇੱਕ ਨਵੀਂ ਘਟਨਾ ਜਾਂਚੋ
ਇੱਕੋ ਘੁਮਾਉਣਾ ਜ਼ਬਰਦਸਤੀ ਕਰੋ ਅਤੇ ਫਿਰ ਇੱਕ ਨਵੀਂ ਘਟਨਾ ਪੈਦਾ ਕਰੋ, ਜਿਵੇਂ ਅਸਫਲ ਪ੍ਰਮਾਣਿਕਤਾ। ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਨਵਾਂ ਰਿਕਾਰਡ ਨਵੀਂ ਫਾਈਲ ਵਿੱਚ ਦਿਖਦਾ ਹੈ ਅਤੇ ਪੁਰਾਣੀ ਫਾਈਲ ਵਧਣਾ ਬੰਦ ਹੋ ਗਈ ਹੈ।
ਨਵੀਂ ਫਾਈਲ ਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਵੀ ਵੇਖੋ, ਕਿਉਂਕਿ ਕਿਸੇ ਹੋਰ ਮਾਲਕ ਨਾਲ ਇਸਨੂੰ ਦੁਬਾਰਾ ਬਣਾਉਣ ਵਾਲਾ ਘੁਮਾਉਣਾ ਅਗਲੀ ਲਿਖਾਈ ਵਿੱਚ ਲੇਖਕ ਨੂੰ ਤੋੜਦਾ ਹੈ ਅਤੇ ਕ੍ਰੈਸ਼ ਵਰਗੀ ਦਿਖਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ ਬਣਾਉਂਦਾ ਹੈ। ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਮਾਲਕ ਅਤੇ ਮੋਡ ਦੀ ਸੇਵਾ ਖਾਤੇ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। ਫਿਰ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸੰਕੁਚਿਤ ਆਰਕਾਈਵ ਪੜ੍ਹਨਯੋਗ ਹੈ, ਕਿਉਂਕਿ ਜੋ ਆਰਕਾਈਵ ਕੋਈ ਖੋਲ੍ਹ ਨਹੀਂ ਸਕਦਾ ਉਹ ਰੱਖ-ਰਖਾਅ ਨਹੀਂ। ਪੁਰਾਣੀ ਫਾਈਲ ਦੇ ਸਭ ਤੋਂ ਨਵੇਂ ਰਿਕਾਰਡ ਨੂੰ ਛੇਤੀ ਪੜ੍ਹਨਾ ਸੰਕੁਚਨ ਅਤੇ ਇਜਾਜ਼ਤ ਦੋਵੇਂ ਸਿੱਧ ਕਰਦਾ ਹੈ।
ਹਰ ਕਦਮ ਦਾ ਮਾਲਕ ਲਿਖ ਕੇ ਮੁਕਾਓ: ਕਿਹੜਾ ਭਾਗ ਲਿਖਦਾ ਹੈ, ਕਿਹੜਾ ਘੁਮਾਉਂਦਾ ਹੈ, ਅਤੇ ਰੱਖ-ਰਖਾਅ ਨੀਤੀ ਕਿੱਥੇ ਰਹਿੰਦੀ ਹੈ। ਉਹੀ ਰਿਕਾਰਡ ਅਗਲੀ ਲੌਗਿੰਗ ਘਟਨਾ ਨੂੰ ਇਹ ਅਨੁਮਾਨ ਲਾਉਣ ਵਿੱਚ ਬਿਤਾਈ ਪੂਰੀ ਦੁਪਹਿਰ ਦੀ ਥਾਂ ਪੰਜ ਮਿੰਟਾਂ ਦੀ ਜਾਂਚ ਬਣਾ ਦਿੰਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਪਰਤ ਨੇ ਲਾਈਨ ਡੇਗੀ।